1. 程式人生 > >Linux命令之kill

Linux命令之kill

多種方式 輸入 字符 指定 避免 選項 con 擴展 firefox

精通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.

Linux命令之kill