Linux檢視和結束程序命令詳解
轉自:http://www.360doc.com/content/14/1021/20/14508903_418760439.shtml
先看兩個例子:
例子一:結束某個程式,如Firefox
鍵入命令:
pkill firefox
先用ps命令來檢視該程序對應的PID。鍵入ps,顯示如下:
PID TTY TIMECOMMAND
285 1 00:00:00-bash
287 3 00:00:00-bash
289 5 00:00:00/sbin/mingetty tty5
290 6 00:00:00/sbin/mingetty tty6
312 3 00:00:00telnet bbs3
341 4 00:00:00/sbin/mingetty tty4
345 1 00:00:00find / -name foxy.jpg
348 1 00:00:00ps
可以看到該程序對應的PID是345,現在使用kill命令來終止該程序。
鍵入:# kill345
再用ps命令檢視,就可以看到,find程序已經被殺掉了
---------------------------------------------------------------------------
下面來了解相關命令:
一、檢視程序的命令 有ps、pstree、pgrep
等:
1、ps
顯示程序資訊,引數可省略
-aux 以BSD風格顯示程序 常用
-efH 以System V風格顯示程序
-e , -A 顯示所有程序
a 顯示終端上所有使用者的程序
x 顯示無終端程序
u 顯示詳細資訊
f 樹狀顯示
w 完整顯示資訊
l 顯示長列表
各列輸出欄位的含義:
USER 程序所有者
*PID 程序ID *
PPID 父程序
%CPU CPU佔用率
%MEM 記憶體佔用率
NI 程序優先順序。數值越大,佔用CPU時間越少
VSZ 程序虛擬大小
RSS 頁面檔案佔用
TTY 終端ID
STAT 程序狀態
+---D 不可中斷 Uninterruptible sleep (usually IO)
+---R 正在執行,或在佇列中的程序
+---S 處於休眠狀態
+---T 停止或被追蹤
+---Z 殭屍程序
+---W 進入記憶體交換(從核心2.6開始無效)
+---X 死掉的程序
+---< 高優先順序
+---N 低優先順序
+---L 有些頁被鎖進記憶體
+---s 包含子程序
+---+ 位於後臺的程序組;
+---l 多執行緒,克隆執行緒 multi-threaded (using CLONE_THREAD, like NPTL
pthreads do)
*PID:程序識別符號,系統為每一個程序分配一個識別碼,稱為PID。 *
ps命令極為常用,其他命令還有:
2.pstree *
樹狀顯示程序資訊
-a 顯示完整命令及引數
-c 重複程序分別顯示
-c 顯示程序ID PID
-n 按 PID 排列程序
3.pgrep <程序名> *
顯示程序的PID
-l 顯示程序名和程序PID
-o 程序起始ID
-n 程序終止ID
二、結束程序的命令 有kill、pkill、killall、xkill
等:
1、kill [訊號程式碼] <程序PID> *
根據PID向程序傳送訊號,常用來結束程序,預設訊號為 -9
訊號程式碼,可取值如下:
-l [訊號數字] 顯示、翻譯訊號程式碼
-9 , -KILL 傳送 kill 訊號退出
-6 , -ABRT 傳送 abort 訊號退出
-15 , -TERM 傳送 Termination 訊號
-1 , -HUP 掛起
-2 , -INT 從鍵盤中斷,相當於 Ctrl+c
-3 , -QUIT 從鍵盤退出,相當於 Ctrl+d
-4 , -ILL 非法指令
-11 , -SEGV 記憶體錯誤
-13 , -PIPE 破壞管道
-14 , -ALRM
-STOP 停止程序,但不結束
-CONT 繼續執行已停止的程序
-9 -1 結束當前使用者的所有程序
2、pkill <程序名>
結束程序族。如果結束單個程序,請用 kill
killall <程序名>
killall和pkill 應用方法差不多,也是直接殺死執行中的程式;如果您想殺掉單
個程序,請用kill 來殺掉。
xkill
在圖形介面中點殺程序。
當xkill執行時滑鼠指標變為骷髏圖案,哪個圖形程式崩潰一點就OK了。如果您想
終止xkill ,就按右鍵取消。
比如當firefox 出現崩潰不能退出時,點滑鼠就能殺死firefox 。
xkill 呼叫方法: