| Предыдущий | Следующий |
| STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY | STATUS_PROCESS_NOT_IN_JOB |
STATUS_NOTHING_TO_TERMINATE
В процессе не осталось потока, который можно завершить
Завершение процесса — это операция жизненного цикла над процессом и его потоками. STATUS_NOTHING_TO_TERMINATE означает, что путь завершения достиг процесса, в котором уже не осталось потока для завершения. Такое возможно при гонках, когда другой путь завершения продвинулся дальше, чем ожидал вызывающий код.
Рассматривайте результат как сведения о состоянии, а не как повод выполнять дополнительные принудительные завершения. Запишите идентификатор процесса, код выхода, число потоков и конкурирующие запросы завершения. Дескриптор процесса может оставаться пригодным для запросов после прекращения выполнения, поэтому сама его допустимость не доказывает наличие живых потоков.
Что проверить
- Зафиксируйте состояние выхода процесса и число потоков в момент запроса завершения.
- Проверьте одновременный вызов TerminateProcess, завершение задания или естественный выход.
- Не создавайте циклы повторных попыток, которые снова завершают уже пустой процесс.
Ссылки
- Microsoft: TerminateProcess
- Microsoft: объекты заданий
- Открытые спецификации Microsoft: значения NTSTATUS
Нужно найти другой код? Найти другой код состояния или ошибки.