.net 标准如何杀死所有子进程

.net standard how to kill all child process

我正在使用 Process.Kill()。但这并没有杀死子进程,我的程序执行完后子进程还在。我必须手动杀死它。

比如我们用Process调用cmd打开ping <ip> -t。然后我们kill进程,观察ping没有kill掉。

我找到了一些答案,例如 c#/WMI,但这不能用于 .net 标准。

也许可以在这里复制代码:

https://github.com/Microsoft/msbuild/blob/master/src/Utilities/ProcessExtensions.cs#L14