ps指令說明

2021-06-22 13:31:35 字數 4365 閱讀 5743

最常用的ps命令引數是a、u、x,比如命令ps aux|grep boardserver,是用來查詢名為「boardserver」 的程序資訊。這個命令的含義是,ps aux是獲取所有程序(其中包含其他使用者的程序);grep 是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字;前面的「|」管道符號,表示前面的命令結果作為後面的命令輸入,所以能實現查詢指定程序資訊的功能。

linux上程序有5種狀態:

1. 執行(正在執行或在執行佇列中等待)

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

3. 不可中斷(收到訊號不喚醒和不可執行, 程序必須等待直到有中斷發生)

4. 僵死(程序已終止, 但程序描述符存在, 直到父程序呼叫wait4()系統呼叫後釋放)

5. 停止(程序收到sigstop, sigstp, sigtin, sigtou訊號後停止執行執行)

ps的命令引數:

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     較長較詳細的顯示該程序的資訊

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

+ 位於後台的程序組;

ps 指令詳解

fork 程序 1,pstree p grep panda 2,ps tef grep panda pid,thread id,ppid 3,ps h ef grep panda linux上程序有5種狀態 1.執行 正在執行或在執行佇列中等待 2.中斷 休眠中,受阻,在等待某個條件的形成或接受到訊...

檢視程序的指令 ps

程序的基本介紹 在linux中,每個執行的程式都稱為乙個程序。每乙個程序都分配乙個id號,都會對應乙個父程序。ps a 顯示當前終端的所有程序資訊 ps u 以使用者的格式顯示程序資訊 ps x 顯示後台程序執行的引數 ps aux 檢視所有程序 ps ef 檢視程序的父程序 指令說明 user 使...

ZYQN 三 PS的中斷說明

說明 開發軟體 vivado 和 sdk 開發平台 黑金zynq的7010 翻開 ug585 中斷部分,zynq 中斷大致可分為三個部分,中斷詳細分為 sgi software generated interrupts 軟體中斷,ppi private peripheral interrupts 私...