精通Linux的「kill」命令
- SIGTERM - 此信號請求一個進程停止運行。此信號是可以被忽略的。進程可以用一段時間來正常關閉,一個程序的正常關閉一般需要一段時間來保存進度並釋放資源。換句話說,它不是強制停止。
- SIGKILL - 此信號強制進程立刻停止運行。程序不能忽略此信號,而未保存的進度將會丟失。
使用"kill"的語法是:
kill [信號或選項] PID(s)
默認信號(當沒有指定的時候)是SIGTERM。當它不起作用時,你可以使用下面的命令來強制kill掉一個進程:
kill SIGKILL PID
或者
kill -9 PID
這裡"-9"代表著SIGKILL信號。
如果你不知道應用的PID,僅需要運行這個命令:
ps ux
它會顯示所有正在運行的應用還有應用的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"命令,你將能夠更好的處理不正常的應用,從而避免導致系統崩潰。當你不想因一個不正常的進程而導致伺服器宕機時,它尤其的有用。
via: http://www.maketecheasier.com/kill-command-in-linux/
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive