【问题标题】:Start a subordinate process启动从属进程
【发布时间】:2011-10-05 07:48:26
【问题描述】:

我想使用 Process.Start() 从我的应用程序中启动一个进程,并且我希望在我的应用程序崩溃或用户关闭它的情况下自动终止子进程。

有没有可能得到这样的东西?

【问题讨论】:

标签: c# multiprocess


【解决方案1】:

您可以使用AppDomain.ProcessExit 事件来捕捉您的进程即将退出并让它杀死另一个进程。我不确定它如何响应未处理的异常,因此您可能必须使用 AppDomain.UnhandledException 并让它使用 FailFast 来处理任何正常异常。作为该处理程序的一部分,您也可以让它杀死另一个进程。

【讨论】:

    【解决方案2】:

    您可以将已启动子进程的 PID 存储在某处,然后在应用程序关闭事件中使用该 PID 终止进程。尽管在未处理的崩溃的情况下,子进程可能会保留在内存中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-12
      • 1970-01-01
      • 2012-01-13
      • 2010-09-15
      • 1970-01-01
      • 2016-03-01
      相关资源
      最近更新 更多