linux ps 命令詳解

2021-09-01 06:43:32 字數 2445 閱讀 4193

inux上程序有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命令詳解

1.ps簡介 ps命令就是最基本同時也是非常強大的程序檢視命令.使用該命令可以確定有哪些程序正在執行和執行的狀態 程序是否結束 程序有沒有僵死 哪些程序占用了過多的資源等等.總之大部分資訊都是可以通過執行該命令得到的.2.ps命令及其引數 ps命令最常用的還是用於監控後台程序的工作情況,因為後台程序...

linux ps 命令詳解

ps a 顯示現行終端機下的所有程式,包括其他使用者的程式。2 ps a 顯示所有程式。3 ps c 列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,引數或常駐服務的標示。4 ps e 此引數的效果和指定 a 引數相同。5 ps e 列出程式時,顯示每個程式所使用的環境變數。6 ps f 用a...

linux ps命令使用詳解

ps 是linux 下最常用的也是非常強大的程序檢視命令 1.ps 簡介前面介紹的兩個命令都是用於檢視當前系統使用者的情況,下面就來看看程序的情況,這也是本章的主題。要對程序進行監測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前程序,而 ps命令就是最基本 同時也是非常強大的程序檢視命令。...