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也许可以分享更多的信息。对于初学者,请阅读您测试的代码,并告诉我们您希望在什么条件下终止进程。