精通 Linux 的 “kill” 命令

發表於2018-04-17

無論你使用哪種作業系統,你一定會遇到某個行為失常的應用,它把自己鎖死並拒絕關閉。在Linux(還有Mac),你可以用一個”kill”命令強制終結它。在這個教程中,我們將展示給你多種方式使用”kill”命令終結應用。

Kill命令和訊號

當你執行一個”kill”命令,你實際上傳送了一個訊號給系統,讓它去終結不正常的應用。總共有60個你可以使用的訊號,但是基本上你只需要知道SIGTERM(15)和SIGKILL(9)。

你可以用這個命令看到所有訊號的列表:

  • SIGTERM – 此訊號請求一個程式停止執行。此訊號是可以被忽略的。程式可以用一段時間來正常關閉,一個程式的正常關閉一般需要一段時間來儲存進度並釋放資源。換句話說,它不是強制停止。
  • SIGKILL – 此訊號強制程式立刻停止執行。程式不能忽略此訊號,而未儲存的進度將會丟失。

使用”kill”的語法是:

預設訊號(當沒有指定的時候)是SIGTERM。當它不起作用時,你可以使用下面的命令來強制kill掉一個程式:

或者

這裡”-9″代表著SIGKILL訊號。

如果你不知道應用的PID,僅需要執行這個命令:

它會顯示所有正在執行的應用還有應用的PID。

例如,要kill掉Chrome,我會執行命令:

也可以在同一時間kill多個程式。

PKill

“pkill”命令允許使用擴充套件的正規表示式和其它匹配方式。你現在可以使用應用的程式名kill掉它們,而不是使用PID。例如,要kill掉Firefox瀏覽器,只需要執行命令:

使用正規表示式匹配的話,你可以輸入程式名的部分字元,比如:

為了避免kill掉錯誤的程式,你應該用一下”pgrep -l [程式名]”列表來匹配程式名稱。

Killall

killall同樣使用程式名替代PID,並且它會kill掉所有的同名程式。例如,如果你正在執行多個Firefox瀏覽器的例項,可以用命令把它們全部kill掉:

在Gnome中,你可以使用這個命令重啟Nautilus:

xkill

xkill 是圖形方式kill一個應用。當你在終端鍵入”xkill”,你的游標將立刻變成一個”十字”。你只需要做的是在不正常的應用上點選一下,它就會立刻kill掉這個應用。如果你經常用的話,你也可以新增一個鍵盤快捷鍵來啟用xkill

結論

當應用不正常而導致系統掛起的時候,人們往往重啟計算機並且再一次開啟所有的任務。而有了這些”kill”命令,你將能夠更好的處理不正常的應用,從而避免導致系統崩潰。當你不想因一個不正常的程式而導致伺服器當機時,它尤其的有用。

 

相關文章