Вопрос

Есть ли способ узнать, как процесс был остановлен из C# в окне Windows?Я взглянул на Процесс класс, мне удалось получить приятный дружественный обратный вызов от события Exited, как только я установил EnableRaisingEvents = true; но мне так и не удалось выяснить, был ли процесс убит или он завершился естественным путем?

Это было полезно?

Решение

Запустите Process Monitor (от Sysinternals, части Microsoft), запустите свой процесс и дайте ему умереть, затем отфильтруйте результаты Process Monitor по имени вашего процесса — вы сможете увидеть все, что он сделал, включая коды выхода.

Другие советы

Для этого вы можете использовать код возврата процесса.Если ваш процесс возвращает ненулевое значение из своего метода Main, вы можете проверить, завершился ли процесс сам по себе (возвращаемое значение совпадает).

Хороший ответ, Антуан, к сожалению, я не могу изменить код возврата.Моя вина - думаю, мне нужно сузить круг вопроса.

На самом деле, я не думаю, что мне даже нужно программное решение - утилита подойдет - я взглянул на впечатляющий вид Обозреватель процессов но, похоже, это не дает мне этих подробностей.

У меня проблема в том, что программа, которую я хочу опросить, запускается системой планирования, эквивалентной запланированным задачам Windows, но не это.Есть ли способ определить, останавливает ли этот планировщик программу принудительно?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top