我在终止由
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格式,就可以了。有趣的是,它不仅仅会因输入错误而崩溃,而不是像评论建议的那样挂起。
您可以使用以下命令。
pkill -f dotnet