Linux下ps命令詳解

2022-07-18 07:48:14 字數 2445 閱讀 2252

linux上程序有5種狀態: 

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

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

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

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

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

ps工具標識程序的5種狀態碼: 

d 不可中斷 uninterruptible sleep (usually io) 

r 執行 runnable (on run queue) 

s 中斷 sleeping 

t 停止 traced or stopped 

z 僵死 a defunct (」zombie」) process 

名稱:ps 

使用許可權:所有使用者 

使用方式:ps [options] [--help] 

說明:顯示瞬間行程 (process) 的動態 

引數: 

ps 的引數非常多, 在此僅列出幾個常用的引數並大略介紹含義 

-a 列出所有的行程 

-w 顯示加寬可以顯示較多的資訊 

-au 顯示較詳細的資訊 

-aux 顯示所有包含其他使用者的行程 

au(x) 輸出格式 : 

user pid %cpu %mem vsz rss tty stat start time command 

user: 行程擁有者 

pid: pid 

%cpu: 占用的 cpu 使用率 

%mem: 占用的記憶體使用率 

vsz: 占用的虛擬記憶體大小 

rss: 占用的記憶體大小 

tty: 終端的次要裝置號碼 (minor device number of tty) 

stat: 該行程的狀態: 

d: 不可中斷的靜止 

r: 正在執行中 

s: 靜止狀態 

t: 暫停執行 

z: 不存在但暫時無法消除 

w: 沒有足夠的記憶體分頁可分配 

<: 高優先序的行程 

n: 低優先序的行程 

l: 有記憶體分頁分配並鎖在記憶體內 (即時系統或挨a i/o) 

start: 行程開始時間 

time: 執行的時間 

command:所執行的指令 

範例: 

ps pid tty time cmd 

2791 ttyp0 00:00:00 tcsh 

3092 ttyp0 00:00:00 ps 

% ps -a 

pid tty time cmd 

1 ? 00:00:03 init 

2 ? 00:00:00 kflushd 

3 ? 00:00:00 kpiod 

4 ? 00:00:00 kswapd 

5 ? 00:00:00 mdrecoveryd 

....... 

% ps -aux 

user pid %cpu %mem vsz rss tty stat start time command 

root 1 0.0 0.7 1096 472 ? s sep10 0:03 init [3] 

root 2 0.0 0.0 0 0 ? sw sep10 0:00 [kflushd] 

root 3 0.0 0.0 0 0 ? sw sep10 0:00 [kpiod] 

root 4 0.0 0.0 0 0 ? sw sep10 0:00 [kswapd] 

具體命令解釋如下:

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 

顯示所有程式,不以終端機來區分。 

最常用的方法是ps -aux,然後再利用乙個管道符號導向到grep去查詢特定的程序,然後再對特定的程序進行操作。 

Linux下ps命令詳解

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

Linux下ps命令詳解

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

Linux下ps命令詳解

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