我使用nohup python *.py &
来运行我的龙卷风Web服务,并启动了8个进程。
然而,杀死我的龙卷风过程真的很烦人。我必须8次kill -3 pid
才能最终拒绝我的服务。所以我想知道如何在我的bash中一次杀死8个进程?感谢。
我尝试了killall python
,但是当其他python进程正在运行时这很危险。
@Viktor建议我使用pkill -P <parent>
,它可以在我的Ubuntu中使用。但在Centos中,'pkill'不起作用。那么我如何才能“完成”Centos中的流程?感谢。
答案 0 :(得分:2)
这取决于您的环境。
但是你可能想要查看pkill -P <parent>
,它会使用相同的父pid杀死所有内容。
答案 1 :(得分:2)
也许:
ps aux | grep -e 'python spam.py' | grep -v grep | awk '{print $2}' | xargs -i kill {}
答案 2 :(得分:1)
杀死父进程,即具有最小PID的进程应该完成这项工作,例如ps示例中的kill -15 18054
。此外,你可以做一些grep魔术,比如:
for i in `ps waux | grep "python spam.py" | awk '{ print $2 }'`; do kill -15 ${i}; done