Linux Kill命令:防止失控进程占用资源
Linux是一个免费的、开源的操作系统,被技术社区广泛使用。作为一个命令行系统,它允许用户进行良好的控制基于UI的操作系统无法承受。
如果你的话使用Linux有一段时间,您可以知道程序立即陷入困境。Linux将自动处理这些卡住的程序,但有时您可能必须手动进行。在本教程中,我们向您展示如何在Linux中使用kill命令。您还可以使用kill命令来停止使用您的PC资源的不必要进程。我们假设你有对Linux的基本理解。
在你开始杀死一个过程之前
在开始终止进程之前,请确保您没有终止必要的系统进程。这可能会导致系统崩溃。消灭错误的进程也会使您的系统不可见。如果您是Root用户,您将只被允许杀死系统进程。此外,只有Root用户可以终止其他用户启动的进程。所有用户都可以终止他们自己启动的进程。
杀戮命令
在Linux中,可以通过kill命令来终止进程。但是您需要先知道它的PID。进程的PID是什么吗?Linux将为您在PC上运行的每个过程提供一个流程标识号。例如,每次播放纸牌时,程序都被分配了一个PID。只要您知道该过程的名称,您可以找到任何进程的PID。只需键入以下命令行:
pidof name_of_process
例如,如果你想知道你的纸牌游戏的进程ID,只需输入:
PIDOF纸牌
现在是时候杀死这个过程了。只要您知道其PID,有多种方法可以杀死一个过程:
杀死-15 PID
kill - 9 PID
kill -sigkill pid.
我们假设纸牌程序的PID是0809。要终止它,只需输入:
kill - 9 0809
理解信号
在杀死意味后我们钉在的所有这些负数吗?它们是终止信号号,范围从1到64(数字可能根据您运行的系统版本而不同)。每个消灭信号都有特定的目的。
例如,1号kill信号(SIGHUP)将杀死父进程的一部分的子进程。它也可以用来启动新的进程。最重要的信号,可能也是你需要的唯一的信号,是信号1,3,9和15。kill信号3 (SIGQUIT)中断一个进程并要求它停止。但是,进程可以忽略这个指令。它还可以要求进程生成内存转储。终止信号9不会中断进程——它会立即停止进程,而不允许进程进行清理。该命令不能被忽略。最后,我们得到了15杀伤信号(SIGTERM)。SIGTERM将允许进程关闭和清理。 It also allows the program to release memory.
默认情况下,Linux使用第15个信号(Sigterm)来杀死一个过程。这意味着如果您知道进程ID,则不需要指定信号号码或信号名称。如果您想杀死您的Solitaire程序,只需键入以下命令:
0809年杀
您可以使用数字或信号的名称来终止进程。如果您打算输入终止信号的名称,请确保它们都是大写的。否则Linux将不会注册它们。
确认进程已停止
现在,只需验证您的进程是否使用前面给出的PIDOF命令消失。或者,您还可以使用PS命令,该命令具有以下语法:
PS AUX |grep托里塔伊尔
如果您的过程没有停止,它可能意味着您使用的杀戮信号不够强大,或者您没有权限来阻止它。在这种情况下,您可以使用更强大的信号,或者如果您以root用户身份登录或者两者的组合,则可以使用sudo命令。sudo命令是一个管理级命令,可以与kill命令组合使用:
须藤杀-9 0809
sudo kill -sigkill 0809
信号9不能被系统忽略,因此它应该足以关闭最顽固的进程。
killall命令
如果你想立刻杀死多个进程,你会怎么做?您可以使用Killall命令。例如,如果您的PC上安装了Mozilla Firefox,并且您希望关闭程序的所有实例,以及其更新进程,您可以使用kill所有命令。在这种情况下,您不需要知道进程ID,而只是程序的名称。您可以使用以下命令:
Killall -Sigquit Firefox.
如果您不知道程序的PID或者只想通过其名称杀死程序的一个实例,可以使用以下命令:
Killall -9 Firefox.
pkill命令
pkill命令是一个非常有用的命令。如果您有几个从同一个发布者运行的程序(如Mozilla),您可以使用pkill命令杀死所有这些。pkill命令(partial kill)命令将杀死名称以您指定的字母开头的名称的任何进程。例如,如果您想杀死Mozilla进程,则会键入以下代码:
pkill 9墨子
这将杀死所有进程,以“墨子”开始。
xkill命令
xkill命令是另一个非常有用的命令。例如,当您的浏览器窗口被冻结,需要快速关闭时,可以使用它。只需在命令行工具中输入xkill,就可以使用xkill命令。如果你输入正确,你的光标应该会改变。现在只需单击需要关闭的任何窗口。应用程序将关闭,其所有进程将停止。
要回顾一切,你可以使用4个命令中的一个杀死Linux中的进程:Xkill,Pkill,Killall和杀戮。如果您不会成为系统管理,您应该很好地了解XKILL和PKILL命令。否则,我们建议您master用Linux命令行控制系统。