0

我曾经nohup python *.py &运行我的龙卷风网络服务,并启动了 8 个进程。

.

但是,杀死我的龙卷风进程真的很烦人。我必须使用kill -3 pid8 次才能最终拒绝我的服务。所以我想知道如何在我的 bash 中一次杀死 8 个进程?谢谢。

我试过killall python了,但是当有其他 python 进程运行时很危险。

@Viktor 建议我使用pkill -P <parent>它,它适用于我的 Ubuntu。但是在 Centos 中,'pkill' 不起作用。那么我怎样才能'pkill' Centos 中的进程呢?谢谢。

4

3 回答 3

2

这取决于您的环境。

但是您可能想查看pkill -P <parent>,它会杀死具有相同父 pid 的所有内容。

于 2013-04-23T07:25:13.133 回答
2

也许 :

ps aux | grep -e 'python spam.py' | grep -v grep | awk '{print $2}' | xargs -i kill {}

于 2013-04-23T07:30:29.373 回答
1

杀死父进程,即具有最小 PID 的进程应该完成这项工作,就像kill -15 18054在您的 ps 示例中一样。另外,你可以做一些 grep 魔法,比如:

 for i in `ps waux | grep "python spam.py" | awk '{ print $2 }'`; do kill -15 ${i}; done
于 2013-04-23T07:27:30.230 回答