如何同时终止多个正在运行的进程

在任何给定时刻, Linux 系统都在同时运行多个进程。
因此,了解如何管理进程以及如何在需要时终止它们是一项重要的技能。
该进程可以用各种命令终止,例如kill、killall、pkill。
在此教程中,我们解释了如何使用单个命令终止多个进程。
首先,让我们看看如何启动进程以及我们能够为任何给定进程获取哪些信息。

$ yes > /dev/null &
[1] 5322

使用上面的命令,我们已经启动了作业 ID 为“1”和 PID 为 5322 的进程。
让我们再启动几个进程:

$ yes > /dev/null &
[2] 5402
$ yes > /dev/null &
[3] 5403
$ yes > /dev/null &
[4] 5404
$ yes > /dev/null &
[5] 5405

为了终止所有进程,我们使用killall 或者pkill 等工具。
它的工作原理是我们根据名称杀死所有进程。
要尝试正则表达式,请使用 pgrep 命令:

$ pgrep yes
5322
5402
5403
5404
5405

基于正则表达式,在这种情况下,它是一个包含实际 yes 命令名称的字符串,我们能够列出符合此条件的所有进程的所有 PID。
要根据其 PID 获取进程信息,我们可以使用 ps命令。

$ ps 5405
  PID TTY      STAT   TIME COMMAND
 5405 pts/0    R      3:54 yes

要终止上述所有进程,我们可以使用 pkill或者 killall命令:

$ pkill yes
OR
$ killall yes
[1]   Terminated              yes > /dev/null
[3]   Terminated              yes > /dev/null
[5]+  Terminated              yes > /dev/null
[2]-  Terminated              yes > /dev/null
[4]+  Terminated              yes > /dev/null
日期:2020-07-07 20:54:44 来源:oir作者:oir