linux中的kill詳解

2021-07-11 14:27:58 字數 1570 閱讀 5095

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

kill命令和訊號

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

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

·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同樣使用程序名替代pid,並且它會kill掉所有的同名程序。例如,如果你正在執行多個firefox瀏覽器的例項,可以用命令把它們全部kill掉:

killall firefox 

在gnome中,你可以使用這個命令重啟nautilus:

killall nautilus 

linux下kill命令詳解

當需要中斷乙個前台程序的時候,通常是使用 ctrl c 組合鍵 但是對於乙個後台程序恐怕就不是乙個組合鍵所能解決的了,這時就必須求助於kill命令。該命令可以終止後台程序。至於終止後台程序的原因很多,或許是該程序占用的cpu時間過多 或許是該程序已經掛死。總之這種情況是經常發生的。kill命令是通過...

kill 命令詳解

介紹乙個li nux開發除錯中經常用到的命令 kill。kill命令用來刪除執行中的程式或工作。kill可將指定的資訊送至程式。預設的資訊為sigterm 15 可將指定程式終止。若仍無法終止該程式,可使用sigkill 9 資訊嘗試強制刪除程式。程式或工作的編號可利用ps指令或job指令檢視。ki...

Linux中kill的詳細使用

命令格式 kill 引數 程序號 命令功能 傳送指定的訊號到相應程序。不指定型號將傳送sigterm 15 終止指定程序。如果任無法終止該程式可用 kill 引數,其傳送的訊號為sigkill 9 將強制結束程序,使用ps命令或者jobs 命令可以檢視程序號。root使用者將影響使用者的程序,非ro...