linux殺死程序的五種方法
在兩次掃描的間隙, 如果程序消失了而被代之以一個有同樣 PID 的新程序, killall -w 偵測不到。
來源:http://www.ubuntuhome.com/ubuntu-kill-command.html
下面來了解相關命令:一、檢視程序的命令 有ps、pstree、pgrep等: 1、ps
顯示程序資訊,引數可省略
-aux 以BSD風格顯示程序 常用-efH 以System V風格顯示程序-e , -A 顯示所有程序a 顯示終端上所有使用者的程序
在終端中執行ps aux,
各列輸出欄位的含義:
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)
ps命令極為常用,其他命令還有:
2.pstree
樹狀顯示程序資訊
-a 顯示完整命令及引數-c 重複程序分別顯示-c 顯示程序ID PID-n 按 PID 排列程序3.pgrep <程序名>
顯示程序的PID
-l 顯示程序名和程序PID-o 程序起始ID-n 程序終止ID二、結束程序的命令 有kill、pkill、killall、xkill等:
根據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 結束當前使用者的所有程序pkill <程序名>
結束程序族。如果結束單個程序,請用 kill
killall <程序名>
killall和pkill 應用方法差不多,也是直接殺死執行中的程式;如果您想殺掉單個程序,請用kill 來殺掉。
xkill
在圖形介面中點殺程序。
當xkill執行時滑鼠指標變為骷髏圖案,哪個圖形程式崩潰一點就OK了。如果您想終止xkill ,就按右鍵取消。
比如當firefox 出現崩潰不能退出時,點滑鼠就能殺死firefox 。
xkill 呼叫方法:
pkill 和killall 應用方法差不多,也是直接殺死執行中的程式;如果您想殺掉單個程序,請用kill 來殺掉。
必要引數
-f 顯示完整程式
-l 顯示原始碼
-n 顯示新程式
-o 顯示舊程式
-v 與條件不符合的程式
-x 與條件符合的程式
選擇引數
-p<程序號> 列出父程序為使用者指定程序的程序資訊
-t<終端> 指定終端下的所有程式
-u<使用者> 指定使用者的程式