Начать подчиненный процесс - PullRequest
0 голосов
/ 05 октября 2011

Я хотел бы запустить процесс из моего приложения с помощью Process.Start (), и мне бы хотелось, чтобы в случае сбоя моего приложения или закрытия пользователем дочернего процесса автоматически был завершен процесс.

Возможно ли получить что-то подобное?

Ответы [ 2 ]

0 голосов
/ 05 октября 2011

Вы можете где-нибудь сохранить PID запущенного дочернего процесса, а затем убить процесс с этим PID в событии закрытия приложения. Хотя в случае необработанного сбоя дочерний процесс может остаться в памяти.

0 голосов
/ 05 октября 2011

Вы можете использовать событие AppDomain.ProcessExit для перехвата, когда ваш процесс собирается завершиться и заставить его завершить другой процесс. Я не уверен относительно того, как это работает в ответ на необработанное исключение, поэтому вам, возможно, придется использовать AppDomain.UnhandledException и заставить его использовать FailFast для обработки любых обычных исключений. Как часть этого обработчика, он убивает и другой процесс.

...