如何根据 ps 输出杀死一堆作业?

Ant*_*ong 6 command-line bash process kill zsh

这里是输出ps

$ ps aux | grep blob
ubuntu    4286  0.0  0.1  34748  9592 ?        S    Jan14   0:00 /usr/bin/python /usr/local/bin/pynt start_blob_reader
ubuntu    4287  0.0  0.1  34748  9596 ?        S    Jan14   0:00 /usr/bin/python /usr/local/bin/pynt start_blob_reader
ubuntu    4288  0.0  0.0   4444   656 ?        S    Jan14   0:00 /bin/sh -c python -m blob_manager blob
ubuntu    4289  1.2  0.2  65512 20668 ?        S    Jan14 1974:18 python -m blob_manager blob
ubuntu    4290  0.0  0.0   4444   656 ?        S    Jan14   0:00 /bin/sh -c python -m blob_manager blob
ubuntu    4291  1.2  0.2  65404 20624 ?        S    Jan14 1978:24 python -m blob_manager blob
ubuntu   19849  0.0  0.0  10464   896 pts/0    S+   05:43   0:00 grep blob
Run Code Online (Sandbox Code Playgroud)

通过 shell 脚本杀死这些作业(除非19849它是grep进程本身)最简单的方法是什么?

无论是bashzsh正常。

cha*_*aos 5

使用pkill

pkill blob
Run Code Online (Sandbox Code Playgroud)

这将杀死所有匹配模式的进程blob

另一种方法是killall,但您应该调用它,-r以便将模式解释为正则表达式:

killall -r blob
Run Code Online (Sandbox Code Playgroud)