2021-05-12 14:32:11
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 它會顯示所有正在執行的應用還有應用的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
相關文章