ps aux指令詳解

hd_system發表於2016-10-13
ps aux指令詳解
分類: LINUX 2010-12-17 09:39 1864人閱讀 評論(2) 收藏 舉報

linux上程式有5種狀態:
1. 執行(正在執行或在執行佇列中等待)
2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到訊號)
3. 不可中斷(收到訊號不喚醒和不可執行, 程式必須等待直到有中斷髮生)
4. 僵死(程式已終止, 但程式描述符存在, 直到父程式呼叫wait4()系統呼叫後釋放)
5. 停止(程式收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU訊號後停止執行執行)

 

1)ps a 顯示現行終端機下的所有程式,包括其他使用者的程式。
2)ps -A   顯示所有程式。
3)ps c    列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,引數或常駐服務的標示。
4)ps -e  此引數的效果和指定"A"引數相同。
5)ps e   列出程式時,顯示每個程式所使用的環境變數。
6)ps f    用ASCII字元顯示樹狀結構,表達程式間的相互關係。
7)ps -H    顯示樹狀結構,表示程式間的相互關係。
8)ps -N   顯示所有的程式,除了執行ps指令終端機下的程式之外。
9)ps s     採用程式訊號的格式顯示程式狀況。
10)ps S     列出程式時,包括已中斷的子程式資料。
11)ps -t <終端機編號>  指定終端機編號,並列出屬於該終端機的程式的狀況。
12)ps u   以使用者為主的格式來顯示程式狀況。
13)ps x   顯示所有程式,不以終端機來區分。

14)ps -l     較長,較詳細的顯示該PID的資訊

 

# ps -lA |more

F S   UID   PID  PPID  C PRI  NI ADDR SZ   WCHAN     TTY            TIME          CMD
4 S     0     1     0        0  76   0     -  1193 109952       ?             00:00:03 init
1 S     0     2     1        0 -40   -      -     0    migrat        ?             00:00:03 migration/0
1 S     0     3     1        0  94  19    -     0     ksofti         ?             00:00:00 ksoftirqd/0
1 S     0     4     1        0 -40   -      -     0    migrat        ?             00:00:02 migration/1
1 S     0     5     1        0  94  19    -     0    ksofti          ?             00:00:00 ksoftirqd/1
1 S     0     6     1        0 -40   -      -     0    migrat        ?             00:00:02 migration/2
1 S     0     7     1        0  94  19    -     0    ksofti          ?             00:00:00 ksoftirqd/2

 

相關資訊的意義:

F  程式的標誌(flag),4表示使用者為超級使用者

S  程式的狀態(stat),各STAT的意義見下文

PID   程式的ID

C   CPU使用資源的百分比

PRI   priority(優先順序)的縮寫,
NI     Nice值,

ADDR  核心功能,指出該程式在記憶體的那一部分,如果是執行的程式,一般都是“-”

SZ     用掉的記憶體的大小

WCHAN   當前程式是否正在執行,若為“-”表示正在執行

TTY     登陸者的終端位置

TIME   用掉的CPU的時間

CMD    所執行的指令

 

# ps aux |more
USER       PID %CPU %MEM   VSZ  RSS  TTY                   STAT     START   TIME     COMMAND
root         1        0.0  0.0       4772  564 ?                         S        Sep22   0:03     init [3]
root         2        0.0  0.0        0    0        ?                         S        Sep22   0:03     [migration/0]
root         3        0.0  0.0        0    0        ?                         SN      Sep22   0:00     [ksoftirqd/0]
root         4        0.0  0.0        0    0        ?                         S        Sep22   0:02     [migration/1]
root         5        0.0  0.0        0    0        ?                         SN      Sep22   0:00     [ksoftirqd/1]
root         6        0.0  0.0        0    0        ?                         Ss+     Sep22   0:02     [migration/2]
root         7        0.0  0.0        0    0        ?                         SN      Sep22   0:00     [ksoftirqd/2]
root         8        0.0  0.0        0    0        ?                         S        Sep22   0:00     [migration/3]
root         9        0.0  0.0        0    0        ?                         SN      Sep22   0:00     [ksoftirqd/3]
root        10       0.0  0.0        0    0        ?                         S<      Sep22    0:00     [migration/4]

上述欄位解釋:

USER 程式的屬主;
PID   程式的ID;
PPID    父程式;
%CPU   程式佔用的CPU百分比;
%MEM  佔用記憶體的百分比;
NI        程式的NICE值,數值大,表示較少佔用CPU時間;
VSZ     該程式使用的虛擬記憶體量(KB);
RSS     該程式佔用的固定記憶體量(KB)(駐留中頁的數量);
TTY     該程式在那個終端上執行(登陸者的終端位置),若與終端無關,則顯示(?)。若為pts/0等,則表示由網路連線主機程式
WCHAN  當前程式是否正在進行,若為-表示正在進行;
START   該程式被觸發啟動時間;
TIME      該程式實際使用CPU執行的時間;
COMMAND   命令的名稱和引數;

STAT狀態位常見的狀態字元

D 無法中斷的休眠狀態(通常 IO 的程式);
R 正在執行可中在佇列中可過行的;
S 處於休眠狀態;
T 停止或被追蹤;
W 進入記憶體交換  (從核心2.6開始無效);
X 死掉的程式   (基本很少見);
Z 殭屍程式;
< 優先順序高的程式
N 優先順序較低的程式
L 有些頁被鎖進記憶體;
s 程式的領導者(在它之下有子程式);
l 多程式的(使用 CLONE_THREAD, 類似 NPTL pthreads);
+ 位於後臺的程式組;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29209863/viewspace-2126246/,如需轉載,請註明出處,否則將追究法律責任。