查找過程html
殺死無反應過程的第一步就是找到它。有兩個命令用於定位一個進程:top和ps。頂部是每一個管理員應該知道的工具。隨着頂部,您將得到當前正在運行的進程的完整列表。從命令行,發回頂部查看正在運行的進程的列表linux
從這個列表中你會看到一些至關重要的信息。比方說,Chrome已經變得沒有反應。根據咱們的頂級 顯示,咱們能夠看出,使用進程ID(PID)3827,3919,10764和11679有四種運行的chrome實例。使用一種特定的殺死進程的方法,這個信息將是重要的。chrome
雖然頂部是很是方便,但並不老是得到所需信息的最有效手段。假設您知道Chrome進程是您須要殺死的,而您不但願看到頂部提供的實時信息。爲此,您可使用ps命令並經過grep過濾輸出。的PS命令報告的當前過程,並快照的grep模式匹配的打印線。咱們經過grep過濾ps的緣由很簡單:若是您本身發出ps命令,您將得到全部當前進程的快照列表。咱們只想要與Chrome關聯的列表。併發
ps aux | grep chrome
該輔助選項以下:工具
a =爲全部用戶顯示進程命令行
u =顯示進程的用戶/全部者htm
x =還顯示未附加到終端的進程進程
當您搜索有關圖形應用程序的信息時,x選項很重要。table
當您發出上述命令時,您將得到比您須要的更多信息(圖2),以防止某個進程的死亡,但有時比使用top更有效。
搜索
殺死進程
如今咱們來到殺死這個過程的任務。咱們有兩個信息將幫助咱們殺死錯誤的過程:
一、進程名稱
二、進程ID
您使用的將肯定用於終止的命令。有兩個命令用於殺死進程:
一、殺死 - 經過ID殺死一個進程
二、killall - 按名稱殺死一個進程
還能夠將不一樣的信號發送到兩個kill命令。您發送的信號將由kill命令中要求的結果決定。例如,您能夠將HUP(掛起)信號發送到kill命令,這將有效地從新啓動該過程。當您須要當即從新啓動的過程(例如,在守護程序的狀況下),這永遠是一個明智的選擇。您能夠經過發出kill -l來獲取能夠發送到kill命令的全部信號的列表。你會發現不少信號
最多見的殺戮信號是:
信號名稱 | 單值 | 影響 |
SIGHUP | 1 | 掛斷 |
SIGINT | 2 | 從鍵盤中斷 |
SIGKILL | 9 | 殺死信號 |
SIGTERM | 15 | 終止信號 |
SIGSTOP | 17,19,23 | 中止進程 |
這是很好的,您可使用信號值代替信號名稱。因此你沒必要記住各類信號的全部名稱。
因此,如今咱們使用kill命令來殺死咱們的chrome實例。此命令的結構將是:
kill SIGNAL PID
其中SIGNAL是要發送的信號,PID是要被殺死的進程ID。咱們已經知道,從咱們的ps命令咱們要殺死的ID是3827,3919,10764和11679.因此要發送殺死信號,咱們會發出命令:
一旦咱們發佈了上述命令,全部的chrome進程都將被成功地殺死。
咱們走簡單的路線!若是咱們已經知道咱們想要殺死的進程被命名爲chrome,咱們能夠利用killall命令併發送相同的信號,以下所示:
kill -9 3827 kill -9 3919 kill -9 10764 kill -9 11679
上述命令的惟一注意事項是它可能沒法捕獲全部正在運行的chrome進程。若是在運行上述命令以後,您發出ps aux | grep chrome命令並查看剩餘的進程運行,最好的方法是返回kill命令併發送信號9以經過PID終止進程。
結束過程變得容易
正如你所看到的,殺死錯誤的過程並不像你之前想象的那樣具備挑戰性。當我結束一個頑固的過程時,我傾向於從killall命令開始,由於它是最有效的終止路線。然而,當你結束一個很是有魅力的過程,殺死命令就是要走的路。
本文地址:http://www.linuxprobe.com/kill-process.html