今天本菜鸡误操作启动了800多个进程,'python spider.py',服务器CPU瞬间占用100%。
top下看到的命令只有python,没有更细节的python的参数,尝试ps输出可以看到每个进程的命令启动。于是通过
ps -ef | grep 'python spider.py' | awk '{print $2}'
可以获取到每个进程的进程ID,但是尝试直接通过管道杀死进程时,
ps -ef | grep 'python spider.py' | awk '{print $2}' | kill -9
, 提示kill命令使用不正确。
同学提供了方法
kill htop 'python'
可以杀掉所有python进程,但这会把其他python进程也杀死。
回想起之前用过xargs,查了下资料,
ps -ef | grep 'python spider.py' | awk '{print $2}' | xargs kill -9
就可以忽略错误,直接杀死所有grep出来的进程。