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命令就是最基本 同時也是非常強大的程序檢視命令。...