如何在 Linux 中终止用户的所有进程
没有什么比登录 Linux 系统却发现许多进程减慢计算机速度更令人沮丧的了。尽管Linux非常擅长进程管理,但您可能需要手动终止某些进程。
在本教程中,我们将讨论如何查找并终止特定用户的进程。我们将使用 pkill 和 Killall 等工具。
注意:确保您有权访问管理帐户或 root 帐户,因为普通用户只能终止其进程,而不能终止属于其他用户的进程。另一方面,root 用户可以终止所有进程。
让我们开始吧。
了解系统信号
要终止特定进程,该命令会向该进程发送信号。默认情况下,kill命令(例如killall)会发送一个TERM信号来正常停止指定的进程。
在继续执行kill命令之前,让我们简要概述一下进程信号。
常见的终止信号类型包括:
SIGHUP – 该信号重新加载进程。它的整数值为 1。
SIGINT – 来自键盘的中断,例如 CTRL + C。它的整数值为 2。
SIGKILL – 终止进程。它的整数值为 9。
SIGTERM – 这是一个终止信号,如上所述,它会优雅地停止进程。它的整数值为 15。
SIGSTOP – 停止进程。它的整数值为 17、19 或 23。
注意:终止进程时,最好从最不激进的信号开始,例如 TERM。使用诸如 TERM 之类的信号将允许程序正确关闭并在程序收到 TERM 信号时使用设置的措施。
KILL 信号也很有用,特别是当进程遇到错误、无法退出或不响应 INT 信号时。
要查看所有可用信号,请使用诸如kill -l之类的命令
方法#1 – Killall 命令
可以用来终止 Linux 进程的第一个命令是 Killall 命令。为此,您需要 PID 值或要终止的进程的名称。
您可以使用 pgrep 等工具来获取特定进程的 PID。
例如:
2500
一旦获得进程的 PID 值,就可以使用 Kill 命令终止:
# or
$ killall -15 bash
上面的命令将发送一个优雅的终止信号。
要发送 KILL 信号,请使用 -9 整数:
# or
$ killall -9 bash
如何使用killall杀死所有用户进程
Killall 命令允许您终止特定用户拥有的所有进程。为此,请使用 -u 标志。
例如,终止 ubuntu 用户生成的所有进程。
注意:根据命令中指定的用户,终止进程可能会导致系统崩溃或停止关键系统进程。因此,在应用此命令之前,请确保相关用户没有运行您不希望终止的进程。
方法#2:Pkill 命令
另一个可以用来终止 Linux 进程的好工具是 pkill 命令。该命令的工作方式与killall 类似。
例如,要使用 pkill 终止 bash 进程,请使用以下命令:
# or
$ pkill -15 2500
要杀死 ubuntu 用户拥有的所有进程,我们可以使用以下命令:
结论
这就是这个。
在本指南中,我们快速讨论了在 Linux 中终止进程的方法以及各种类型的终止信号。正如所见,杀死特定 Linux 用户拥有的单个进程或多个进程很容易。