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

问题描述 投票:0回答:1

我在终止由

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格式,就可以了。有趣的是,它不仅仅会因输入错误而崩溃,而不是像评论建议的那样挂起。

python linux .net-core process
1个回答
0
投票

您可以使用以下命令。

pkill -f dotnet
© www.soinside.com 2019 - 2024. All rights reserved.