ps -aux命令詳解

linux上進程有5種狀態:linux

1. 運行(正在運行或在運行隊列中等待)網絡

2. 中斷(休眠中, 受阻, 在等待某個條件的造成或接受到信號)隊列

3. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷髮生)進程

4. 僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放)內存

5. 中止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後中止運行運行)it

 

1)ps a 顯示現行終端機下的全部程序,包括其餘用戶的程序。io

2)ps -A 顯示全部程序。多進程

3)ps c 列出程序時,顯示每一個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。thread

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);

+ 位於後臺的進程組;

相關文章
相關標籤/搜索