| Предыдущий | Следующий |
| STATUS_ENTRYPOINT_NOT_FOUND | STATUS_LOCAL_DISCONNECT |
STATUS_CONTROL_C_EXIT
description[Процесс завершился, поскольку консольное управляющее событие CTRL+C не было обработано как условие продолжения работы.]После CTRL+C консольный путь управления завершил приложение
Консольные приложения могут устанавливать обработчики управляющих событий с помощью SetConsoleCtrlHandler. Когда событие CTRL+C достигает процесса и обработка приводит к завершению, Windows сообщает STATUS_CONTROL_C_EXIT как статус завершения процесса. Это отличается от нарушения доступа или явного кода ошибки приложения.
Проверьте обработчик консольных событий, организацию группы процессов и порядок завершения. Код обработчика выполняется при строгих ограничениях по времени и жизненному циклу; длительную очистку следует координировать с обычным завершением рабочих потоков, а не предполагать, что консольный обработчик может безопасно выполнить все блокирующие операции. Если диспетчер видит этот статус завершения, сохраните исходное управляющее событие, а не классифицируйте его как аварийное завершение.
Что проверить
- Запишите, кем было создано CTRL+C: пользователем консоли, диспетчером или управляющим событием группы процессов.
- Трассируйте установленные обработчики управляющих событий и то, решил ли какой-либо из них продолжить или завершить работу.
- Перенесите сложную очистку в согласованную логику завершения и сохраняйте эту причину выхода в мониторинге процессов.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.