2011-10-05 56 views
0

我想從Process.Start()開始我的應用程序的一個進程,我希望在應用程序崩潰或用戶關閉的情況下,子進程會自動終止。啓動下級進程

是否有可能獲得這樣的東西?

+0

[This one?](http://stackoverflow.com/questions/3342941/kill-child-process-when-parent-process-is-killed) –

回答

0

您可以使用AppDomain.ProcessExit事件捕獲您的進程即將退出並讓其殺死其他進程。我不確定它是如何工作的,以應對未處理的異常,因此您可能必須使用AppDomain.UnhandledException,並讓它使用FailFast處理任何正常的異常。作爲該處理程序的一部分,您也可以殺死其他進程。

0

您可以在某處存儲lauched子進程的PID,然後在應用程序關閉事件中使用該PID來終止進程。雖然在未處理崩潰的情況下,子進程可能會保留在內存中。