linux程序狀態查詢 ps

2021-06-27 12:29:12 字數 4200 閱讀 2486

系統維護的時候難免會遇到程序的狀態的查詢和管理,到底

什麼是r,有的是s,有的還是s+呢?一直有些混沌的問題,今天細細的來總結一下:

ps是用來報告系統中程式執行狀況的命令這個是無可厚非的,linux程序的狀態:

d 不可中斷睡眠 (通常是在io操作) 收到訊號不喚醒和不可執行, 程序必須等待直到有中斷發生

r 正在執行或可執行(在執行佇列排隊中)

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

t 已停止的 程序收到sigstop, sigstp, sigtin, sigtou訊號後停止執行

w 正在換頁(2.6.核心之前有效)

x 死程序 (未開啟)

z 殭屍程序 程序已終止, 但程序描述符存在, 直到父程序呼叫wait4()系統呼叫後釋放bsd風格的

< 高優先順序(not nice to other users)

n 低優先順序(nice to other users)

l 頁面鎖定在記憶體(實時和定製的io)

s 乙個資訊頭

l 多執行緒(使用 clone_thread,像nptl的pthreads的那樣)

+ 在前台程序組

例如:[test@pan ~]$ ps -aux

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

root 1 0.0 0.0 1672 516 ? s apr21 0:00 init [5]

root 2 0.0 0.0 0 0 ? s apr21 0:00 [migration/0]

root 3 0.0 0.0 0 0 ? sn apr21 0:00 [ksoftirqd/0]

root 4 0.0 0.0 0 0 ? s apr21 0:00 [migration/1]

root 5 0.0 0.0 0 0 ? sn apr21 0:00 [ksoftirqd/1]

root 6 0.0 0.0 0 0 ? s apr21 0:00 [migration/2]

其中這個引數來列出所有的資訊以提供自己檢查程式的問題!在上面的程式列出當中,說明如下:

user:說明該程式是屬於哪乙個人的;

pid:該程式的代號;

%cpu:代表該程式使用了多少 cpu 資源;

%mem:代表該程式使用了多少的 ram ;

vsz, rss:占去的 ram 的大小( bytes );

tty:是否為登入者執行的程式?若為 tty1-tty6 則為本機登入者,若為 pts/?? 則為遠端登入者執行的程式

stat:該程式的狀態

start:該程式開始的日期;

time:該程式執行的時間?

command:該程式的內容啦!

ps命令一般和grep搭配使用,列出某個特定程序的狀態

ps -aux |grep mega或者ps -ef |grep mega (檢查程序名包含mega的程序執行狀況)

man ps的解釋:

linux ps(process status) 命令詳解

功能說明:報告程式狀況。

語 法:ps [-aacdefhjlmnvwy][acefghlnrsstuvxx][-c 《指令名稱》][-g 《群組名稱》][-g 《群組識別碼》][-p 《程式識別碼》][p 《程式識別碼》][-s 《階段作業》][-t 《終端機編號》][t 《終端機編號》][-u 《使用者識別碼》][-u 《使用者識別碼》][u 《使用者名稱》][-《程式識別碼》][--cols 《每列字元數》][-- columns 《每列字元數》][--cumulative][-- elect][--forest][--headers][--help] [--info][--lines 《顯示列數》][--no-headers][--group 《群組名稱》][-group 《群組識別碼》][--pid 《程式識別碼》][--rows 《顯示列數》][--sid 《階段作業》][--tty 《終端機編號》][--user 《使用者名稱》][--user 《使用者識別碼》][--version][--width 《每列字元數》]

補充說明:ps是用來報告程式執行狀況的指令,您可以搭配kill指令隨時中斷,刪除不必要的程式。

參 數:

-a 顯示所有終端機下執行的程式,除了階段作業領導者之外。

a 顯示現行終端機下的所有程式,包括其他使用者的程式。

-a 顯示所有程式。

-c 顯示cls和pri欄位。

c 列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,引數或常駐服務的標示。

-c 《指令名稱》 指定執行指令的名稱,並列出該指令的程式的狀況。

-d 顯示所有程式,但不包括階段作業領導者的程式。

-e 此引數的效果和指定"a"引數相同。

e 列出程式時,顯示每個程式所使用的環境變數。

-f 顯示uid,ppip,c與stime欄位。

f 用ascii字元顯示樹狀結構,表達程式間的相互關係。

-g《群組名稱》 此引數的效果和指定"-g"引數相同,當亦能使用階段作業領導者的名稱來指定。

g 顯示現行終端機下的所有程式,包括群組領導者的程式。

-g《群組識別碼》 列出屬於該群組的程式的狀況,也可使用群組名稱來指定。

h 不顯示標題列。

-h 顯示樹狀結構,表示程式間的相互關係。

-j或j 採用工作控制的格式顯示程式狀況。

-l或l 採用詳細的格式來顯示程式狀況。

l 列出欄位的相關資訊。

-m或m 顯示所有的執行緒。

n 以數字來表示user和wchan欄位。

-n 顯示所有的程式,除了執行ps指令終端機下的程式之外。

-p《程式識別碼》 指定程式識別碼,並列出該程式的狀況。

p《程式識別碼》 此引數的效果和指定"-p"引數相同,只在列**式方面稍有差異。

r 只列出現行終端機正在執行中的程式。

-s《階段作業》 指定階段作業的程式識別碼,並列出隸屬該階段作業的程式的狀況。

s 採用程式訊號的格式顯示程式狀況。

s 列出程式時,包括已中斷的子程式資料。

-t《終端機編號》 指定終端機編號,並列出屬於該終端機的程式的狀況。

t《終端機編號》 此引數的效果和指定"-t"引數相同,只在列**式方面稍有差異。

-t 顯示現行終端機下的所有程式。

-u< 使用者識別碼》 此引數的效果和指定"-u"引數相同。

u 以使用者為主的格式來顯示程式狀況。

-u《使用者識別碼》 列出屬於該使用者的程式的狀況,也可使用使用者名稱來指定。

u《使用者名稱》 列出屬於該使用者的程式的狀況。

v 採用虛擬記憶體的格式顯示程式狀況。

-v或v 顯示版本資訊。

-w或w 採用寬闊的格式來顯示程式狀況。

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

x 採用舊式的linux i386登陸格式顯示程式狀況。

-y 配合引數"-l"使用時,不顯示f(flag)字段,並以rss欄位取代addr欄位 。

-《程式識別碼》 此引數的效果和指定"p"引數相同。

--cols《每列字元數》 設定每列的最大字元數。

--columns《每列字元數》 此引數的效果和指定"--cols"引數相同。

--cumulative 此引數的效果和指定"s"引數相同。

--deselect 此引數的效果和指定"-n"引數相同。

--forest 此引數的效果和指定"f"引數相同。

--headers 重複顯示標題列。

--info 顯示排錯資訊。

--lines《顯示列數》 設定顯示畫面的列數。

--no-headers 此引數的效果和指定"h"引數相同,只在列**式方面稍有差異。

--group《群組名稱》 此引數的效果和指定"-g"引數相同。

--group《群組識別碼》 此引數的效果和指定"-g"引數相同。

--pid《程式識別碼》 此引數的效果和指定"-p"引數相同。

--rows《顯示列數》 此引數的效果和指定"--lines"引數相同。

--sid《階段作業》 此引數的效果和指定"-s"引數相同。

--tty《終端機編號》 此引數的效果和指定"-t"引數相同。

--user《使用者名稱》 此引數的效果和指定"-u"引數相同。

--user《使用者識別碼》 此引數的效果和指定"-u"引數相同。

--version 此引數的效果和指定"-v"引數相同。

--widty《每列字元數》 此引數的效果和指定"-cols"引數相同。

linux程序狀態查詢 ps

linux程序狀態查詢 ps 2011年03月01日 系統維護的時候難免會遇到程序的狀態的查詢和管理,到底什麼是r,有的是s,有的還是s 呢?一直有些混沌的問題,今天細細的來總結一下 ps是用來報告系統中程式執行狀況的命令這個是無可厚非的,linux程序的狀態 d 不可中斷睡眠 通常是在io操作 收...

linux程序狀態查詢

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

linux程序狀態查詢

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