杀死一系列python进程

时间:2018-01-21 00:47:20

标签: python shell

我知道我可以通过以下方式终止终端进程:

$ kill -9 666 

其中666PID

但如果我已经运行了 n 工作人员并希望杀死所有 n 进程,那么就像这样:

$ ps

  PID TTY           TIME CMD
  415 ttys000    0:00.09 -bash
 4356 ttys000    0:00.85 /Users/me/bin/python 
 4359 ttys000    0:03.69 /Users/me/bin/python 
 4360 ttys000    0:03.25 /Users/me/bin/python 
 4361 ttys000    0:03.11 /Users/me/bin/python 
 4362 ttys000    0:02.05 /Users/me/bin/python 
 4363 ttys000    0:01.47 /Users/me/bin/python 
 4364 ttys000    0:01.47 /Users/me/bin/python 
 4365 ttys000    0:01.47 /Users/me/bin/python 
 4366 ttys000    0:01.47 /Users/me/bin/python 
 4367 ttys000    0:03.11 /Users/me/bin/python 
 4368 ttys000    0:01.48 /Users/me/bin/python 
 4369 ttys000    0:01.49 /Users/me/bin/python 
 4370 ttys000    0:01.47 /Users/me/bin/python 
 4371 ttys000    0:01.48 /Users/me/bin/python 
 4372 ttys000    0:01.47 /Users/me/bin/python 
 4373 ttys000    0:02.68 /Users/me/bin/python 
 4374 ttys000    0:03.11 /Users/me/bin/python 

是否有命令一次杀死所有人?

1 个答案:

答案 0 :(得分:1)

您可以使用以下命令根据其名称杀死所有进程:

pkill -9 -f <process-name>

例如,在您的情况下,命令将是:

pkill -9 -f /Users/me/bin/python

另一个替代解决方案grep基于CMD参数ps命令的结果,并使用pid提取awk,然后杀死kill -9为:

的人
kill -9 `ps | grep <process-to-kill> | awk '{print $1}'`

对于您的情况,为了终止所有"/Users/me/bin/python"进程,命令将是:

kill -9 `ps | grep "/Users/me/bin/python" | awk '{print $1}'`

此处,ps | grep "/Users/me/bin/python" | awk '{print $1}'会将您所有进程ID的列表返回给:

 4356 
 4359 
 ...
 4373
 4374

kill -9将属于上述pid的所有进程。