如何杀死多个进程

如何杀死多个进程

要查找要杀死的进程的 PID,请使用:

pgrep <process command>

然后我使用kill命令来杀死由pgrep <process command>

kill <PID>

这些命令是否可以合并为一个,以便杀死 PID 或返回的 PID pgrep <process command>?或者是否有一种方法通过命令名称杀死多个进程?

就像是 :kill(pgrep <name of process>)

答案1

您可以使用 pkill:

pkill httpd

您可能还想使用进程替换(尽管这不太清楚):

kill $(pgrep command)

您可能想要使用xargs

pgrep command | xargs kill

答案2

killall也可以使用,例如

killall firefox

发送SIGTERM到所有firefox进程。

答案3

是的,您可以使用 bash 功能并循环输出。

$ for proc in $(pgrep <process command>); do kill $proc; done

答案4

当您运行脚本时,特别是以堆叠方式运行脚本时,给出进程名称对我来说不起作用。因此我使用这个简单的命令:

ps -eaf | grep -i script_hint (or whatever condition is) | awk '{print $2}' | xargs kill -15

相关内容