無(wú)論你使用哪種操作系統(tǒng),你一定會(huì)遇到某個(gè)行為失常的應(yīng)用,它把自己鎖死并拒絕關(guān)閉。在Linux(還有Mac),你可以用一個(gè)”kill”命令強(qiáng)制終結(jié)它。在這個(gè)教程中,我們將展示給你多種方式使用”kill”命令終結(jié)應(yīng)用。
Kill命令和信號(hào)
當(dāng)你執(zhí)行一個(gè)”kill”命令,你實(shí)際上發(fā)送了一個(gè)信號(hào)給系統(tǒng),讓它去終結(jié)不正常的應(yīng)用。總共有60個(gè)你可以使用的信號(hào),但是基本上你只需要知道SIGTERM(15)和SIGKILL(9)。
你可以用這個(gè)命令看到所有信號(hào)的列表:
kill -l
SIGTERM – 此信號(hào)請(qǐng)求一個(gè)進(jìn)程停止運(yùn)行。此信號(hào)是可以被忽略的。進(jìn)程可以用一段時(shí)間來(lái)正常關(guān)閉,一個(gè)程序的正常關(guān)閉一般需要一段時(shí)間來(lái)保存進(jìn)度并釋放資源。換句話說(shuō),它不是強(qiáng)制停止。
SIGKILL – 此信號(hào)強(qiáng)制進(jìn)程立刻停止運(yùn)行。程序不能忽略此信號(hào),而未保存的進(jìn)度將會(huì)丟失。
使用”kill”的語(yǔ)法是:
kill [信號(hào)或選項(xiàng)] PID(s)
默認(rèn)信號(hào)(當(dāng)沒(méi)有指定的時(shí)候)是SIGTERM。當(dāng)它不起作用時(shí),你可以使用下面的命令來(lái)強(qiáng)制kill掉一個(gè)進(jìn)程:
kill SIGKILL PID
或者
kill -9 PID
這里”-9″代表著SIGKILL信號(hào)。
如果你不知道應(yīng)用的PID,僅需要運(yùn)行這個(gè)命令:
ps ux
它會(huì)顯示所有正在運(yùn)行的應(yīng)用還有應(yīng)用的PID。
例如,要kill掉Chrome,我會(huì)運(yùn)行命令:
kill -9 3629
也可以在同一時(shí)間kill多個(gè)進(jìn)程。
kill -9 PID1 PID2 PID3
PKill
“pkill”命令允許使用擴(kuò)展的正則表達(dá)式和其它匹配方式。你現(xiàn)在可以使用應(yīng)用的進(jìn)程名kill掉它們,而不是使用PID。例如,要kill掉Firefox瀏覽器,只需要運(yùn)行命令:
pkill firefox
使用正則表達(dá)式匹配的話,你可以輸入進(jìn)程名的部分字符,比如:
pkill fire
為了避免kill掉錯(cuò)誤的進(jìn)程,你應(yīng)該用一下”pgrep -l [進(jìn)程名]”列表來(lái)匹配進(jìn)程名稱。
Killall
killall同樣使用進(jìn)程名替代PID,并且它會(huì)kill掉所有的同名進(jìn)程。例如,如果你正在運(yùn)行多個(gè)Firefox瀏覽器的實(shí)例,可以用命令把它們?nèi)縦ill掉:
killall firefox
在Gnome中,你可以使用這個(gè)命令重啟Nautilus:
killall nautilus
xkill
xkill 是圖形方式kill一個(gè)應(yīng)用。當(dāng)你在終端鍵入”xkill”,你的光標(biāo)將立刻變成一個(gè)”十字”。你只需要做的是在不正常的應(yīng)用上點(diǎn)擊一下,它就會(huì)立刻kill掉這個(gè)應(yīng)用。如果你經(jīng)常用的話,你也可以添加一個(gè)鍵盤快捷鍵來(lái)激活xkill。
結(jié)論
當(dāng)應(yīng)用不正常而導(dǎo)致系統(tǒng)掛起的時(shí)候,人們往往重啟計(jì)算機(jī)并且再一次開(kāi)啟所有的任務(wù)。而有了這些”kill”命令,你將能夠更好的處理不正常的應(yīng)用,從而避免導(dǎo)致系統(tǒng)崩潰。當(dāng)你不想因一個(gè)不正常的進(jìn)程而導(dǎo)致服務(wù)器宕機(jī)時(shí),它尤其的有用。
-
信號(hào)
+關(guān)注
關(guān)注
11文章
2791瀏覽量
76771 -
PID
+關(guān)注
關(guān)注
35文章
1472瀏覽量
85524
原文標(biāo)題:精通 Linux 的 “kill” 命令
文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論