Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想使用 Process.Start() 从我的应用程序启动一个进程,我希望在我的应用程序崩溃或用户关闭它的情况下,子进程会自动终止。
有可能获得这样的东西吗?
您可以使用该AppDomain.ProcessExit事件来捕获您的进程即将退出并让它杀死另一个进程。我不确定它如何响应未处理的异常,因此您可能必须使用AppDomain.UnhandledException并让它使用 FailFast 来处理任何正常异常。作为该处理程序的一部分,您也可以让它杀死另一个进程。
AppDomain.ProcessExit
AppDomain.UnhandledException
您可以将已启动子进程的 PID 存储在某处,然后在应用程序关闭事件中使用该 PID 终止进程。尽管在未处理的崩溃的情况下,子进程可能会保留在内存中。