如何在Linux中杀死多个进程?

12

我想在Linux中终止一些Apache服务器进程。

请帮助我完成此操作。

3个回答

22

如果您拥有要杀死的进程的pid,则可以使用kill命令。

kill pid1 [pid2 pid3 ...]

如果这不能杀死进程,则可以在kill命令中添加-9标志来强制结束这些进程,如下所示:

而如果这样还是杀不死进程,你可以在kill命令后加上-9标志来强制结束进程,例如:

kill -9 pid1 [pid2 pid3 ...]

要获取进程的pid,您可以使用ps命令:

ps ax | grep apache

输出的第一列是进程的pid。


2
我建议您不要将-9作为默认选项。您应该“正常”地终止进程,并让它以有组织的方式关闭。只有在它没有响应时,您才应该使用-9。 - Brian Agnew
2
难道不是 kill -9 pid1 pid2 pid3 吗?括号可能会让人困惑... - ykadaru
for pid in \ps aux | grep apache | awk {"print $2"}`; do kill -9 $pid; done;` - David Castro

5
请尝试以下方法:
killall apache2

如果您想杀死所有Apache进程。

ps aux | grep apache2

此命令将显示带有其PID的Apache服务器。然后您可以进行有选择地终止:

kill -9 pid1 pid5

1
请注意Linux命令killall。你可以通过名称杀死进程,这比使用pid要粗略一些。你可以使用名称或正则表达式(通过-r选项)来指定你的目标。
首先使用普通的SIGTERM信号(默认)。这将让进程捕获信号,如果它们表现良好,它们会清除/关闭资源并退出。只有当进程没有响应时,才应该使用SIGKILL(-9)信号。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接