首頁 > 軟體

Linux中的kill詳解

2020-06-16 17:29:25

無論你使用哪種作業系統,你一定會遇到某個行為失常的應用,它把自己鎖死並拒絕關閉。在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 它會顯示所有正在執行的應用還有應用的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

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-10/136530.htm


IT145.com E-mail:sddin#qq.com