Linux命令之kill
精通Linux的kill命令
不管你使用哪种操作系统,你一定会遇到某个行为失常的应用,它把自己锁死并拒绝关闭。在Linux(还有Mac)。你能够用一个"kill"命令强制终结它。在这个教程中,我们将展示给你多种方式使用"kill"命令终结应用。
Kill命令和信号
当你运行一个"kill"命令,你实际上发送了一个信号给系统,让它去终结不正常的应用。总共同拥有60个你能够使用的信号。可是基本上你仅仅须要知道SIGTERM(15)和SIGKILL(9)。
你能够用这个命令看到全部信号的列表:
kill -l
• SIGTERM - 此信号请求一个进程停止执行。此信号是能够被忽略的。进程能够用一段时间来正常关闭。一个程序的正常关闭一般须要一段时间来保存进度并释放资源。
换句话说,它不是强制停止。
• SIGKILL - 此信号强制进程立马停止执行。程序不能忽略此信号,而未保存的进度将会丢失。
使用"kill"的语法是:
kill [信号或选项] PID(s)
默认信号(当没有指定的时候)是SIGTERM。当它不起作用时。你能够使用以下的命令来强制kill掉一个进程:
kill SIGKILL PID
或者
kill -9 PID
这里"-9"代表着SIGKILL信号。
假设你不知道应用的PID,仅须要执行这个命令:
ps ux | grep firefox
它会显示全部正在执行的应用还有应用的PID。
比如。要kill掉Chrome,我会执行命令:
kill -9 3629
也能够在同一时间kill多个进程。
kill -9 PID1 PID2 PID3
PKill
"pkill"命令同意使用扩展的正則表達式和其他匹配方式。你如今能够使用应用的进程名kill掉它们,而不是使用PID。
比如,要kill掉Firefox浏览器,仅仅须要执行命令:
pkill firefox
使用正則表達式匹配的话,你能够输入进程名的部分字符,比方:
pkill fire
为了避免kill掉错误的进程,你应该用一下"pgrep -l [进程名]"列表来匹配进程名称。
Killall
killall相同使用进程名替代PID,而且它会kill掉所有的同名进程。
比如。假设你正在执行多个Firefox浏览器的实例,能够用命令把它们所有kill掉:
killall firefox
在Gnome中,你能够使用这个命令重新启动Nautilus:
killall nautilus
xkill
xkill 是图形方式kill一个应用。
当你在终端键入"xkill",你的光标将立马变成一个"十字"。你仅仅须要做的是在不正常的应用上点击一下。它就会立马kill掉这个应用。假设你经经常使用的话,你也能够加入一个键盘快捷键来激活xkill。
结论
当应用不正常而导致系统挂起的时候,人们往往重新启动计算机而且再一次开启全部的任务。而有了这些"kill"命令。你将可以更好的处理不正常的应用,从而避免导致系统崩溃。当你不想因一个不正常的进程而导致server宕机时,它尤其的实用。
--------------------------------
Dylan Presents.