C# .net标准如何终止所有子进程
我正在使用C# .net标准如何终止所有子进程,c#,process,.net-standard-2.0,C#,Process,.net Standard 2.0,我正在使用Process.Kill()。但这并不会杀死子进程,在我的程序完成后,子进程仍然存在。我必须手动杀死它 例如,我们使用进程调用cmd打开ping-t。然后我们终止进程,并观察到ping没有被终止 我找到了一些类似c#/WMI的答案,但这不能在.net标准上使用。也许可以在这里复制代码: 为什么不递归地迭代所有子进程并自己杀死它们?(深度优先)。@Uwe Keim I使用进程调用cmd打开指定的程序,cmd open program I无法获取进程idYou可以收集具有相同路径(可执行文
Process.Kill()
。但这并不会杀死子进程,在我的程序完成后,子进程仍然存在。我必须手动杀死它
例如,我们使用进程
调用cmd
打开ping-t
。然后我们终止进程,并观察到ping没有被终止
我找到了一些类似c#/WMI的答案,但这不能在.net标准上使用。也许可以在这里复制代码:
为什么不递归地迭代所有子进程并自己杀死它们?(深度优先)。@Uwe Keim I使用进程调用cmd打开指定的程序,cmd open program I无法获取进程idYou可以收集具有相同路径(可执行文件的完整路径)的所有活动进程并杀死每个进程:
Process.getProcessByName()
@Stefan按名称关闭不安全,因为可能同时运行多个实例time@MengHanYu也许可以分享更多的信息。对于初学者,请阅读您测试的代码,并告诉我们您希望在什么条件下终止进程。