如何杀死由 dotnet run 启动的所有进程?

问题描述

我在杀死由 dotnet run 启动的进程时遇到一个奇怪的问题

我使用 python 启动应用程序,如下所示:

processObj = subprocess.Popen(['dotnet','run','-p',filePath])

我得到了这些新进程:

PID
 18    dotnet run -p /.../xxxx.csproj
 56    /usr/share/dotnet/dotnet exec /.../VBCSCompiler.dll
 75    /.../my-service-name

我像这样使用python杀死了他们一个

os.kill(18),signal.SIGKILL)
os.kill(56),signal.SIGKILL)
os.kill(75),signal.SIGKILL)

然而,只有进程 18 被杀死。真的不确定发生了什么,因为进程 10 和 56 都是进程 1(我曾经调用 python 脚本的机器人)的子进程,但是,它只杀死 18 而不是 56。75 是进程 18 的子进程,这不是也被杀了。

如何终止进程 56 和 75?

谢谢

更新: 解决方案是将我所有的代码替换为 \\/。就像有使用 Windows 格式路径的配置,我将它们更改为 linux 格式,然后就可以了。有趣的是,它不仅会因输入错误而崩溃,而且不会像建议的评论那样挂起。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)