我知道我可以通过以下方式终止终端进程:
$ kill -9 666
其中666
是PID
。
但如果我已经运行了 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
是否有命令一次杀死所有人?
答案 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的所有进程。