原文地址:
linux上進(jìn)程有5種狀態(tài):
1. 運(yùn)行(正在運(yùn)行或在運(yùn)行隊(duì)列中等待)
2. 中斷(休眠中, 受阻, 在等待某個(gè)條件的形成或接受到信號)
3. 不可中斷(收到信號不喚醒和不可運(yùn)行, 進(jìn)程必須等待直到有中斷發(fā)生)
4. 僵死(進(jìn)程已終止, 但進(jìn)程描述符存在, 直到父進(jìn)程調(diào)用wait4()系統(tǒng)調(diào)用后釋放)
5. 停止(進(jìn)程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號后停止運(yùn)行)
ps工具標(biāo)識進(jìn)程的5種狀態(tài)碼:
D 不可中斷 uninterruptible sleep (usually IO)
R 運(yùn)行 runnable (on run queue)
S 中斷 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
名稱:ps
使用權(quán)限:所有使用者
使用方式:ps [options] [--help]
說明:顯示瞬間行程 (process) 的動(dòng)態(tài)
參數(shù):
ps 的參數(shù)非常多, 在此僅列出幾個(gè)常用的參數(shù)并大略介紹含義
-A 列出所有的行程
-w 顯示加寬可以顯示較多的資訊
-au 顯示較詳細(xì)的資訊
-aux 顯示所有包含其他使用者的行程
au(x) 輸出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 進(jìn)程擁有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的記憶體使用率
VSZ: 占用的虛擬記憶體大小
RSS: 占用的記憶體大小
TTY: 終端的次要裝置號碼 (minor device number of tty)
STAT: 該行程的狀態(tài):
D: 不可中斷的靜止
R: 正在執(zhí)行中
S: 靜止?fàn)顟B(tài)
T: 暫停執(zhí)行
Z: 不存在但暫時(shí)無法消除
W: 沒有足夠的記憶體分頁可分配
<: 高優(yōu)先序的行程
N: 低優(yōu)先序的行程
L: 有記憶體分頁分配并鎖在記憶體內(nèi) (即時(shí)系統(tǒng)或捱A I/O)
START: 行程開始時(shí)間
TIME: 執(zhí)行的時(shí)間
COMMAND:所執(zhí)行的指令
范例:
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 顯示現(xiàn)行終端機(jī)下的所有程序,包括其他用戶的程序。
2)ps -A 顯示所有程序。
3)ps c 列出程序時(shí),顯示每個(gè)程序真正的指令名稱,而不包含路徑,參數(shù)或常駐服務(wù)的標(biāo)示。
4)ps -e 此參數(shù)的效果和指定"A"參數(shù)相同。 例如: ps -e|grep sshd
5)ps e 列出程序時(shí),顯示每個(gè)程序所使用的環(huán)境變量。
6)ps f 用ASCII字符顯示樹狀結(jié)構(gòu),表達(dá)程序間的相互關(guān)系。
7)ps -H 顯示樹狀結(jié)構(gòu),表示程序間的相互關(guān)系。
8)ps -N 顯示所有的程序,除了執(zhí)行ps指令終端機(jī)下的程序之外。
9)ps s 采用程序信號的格式顯示程序狀況。
10)ps S 列出程序時(shí),包括已中斷的子程序資料。
11)ps -t<終端機(jī)編號>
指定終端機(jī)編號,并列出屬于該終端機(jī)的程序的狀況。
12)ps u
以用戶為主的格式來顯示程序狀況。
13)ps x
顯示所有程序,不以終端機(jī)來區(qū)分。
最常用的方法是ps -aux,然后再利用一個(gè)管道符號導(dǎo)向到grep去查找特定的進(jìn)程,然后再對特定的進(jìn)程進(jìn)行操作。
上一個(gè)教程:Linux screen 命令詳解
下一個(gè)教程:Linux的 wc 命令詳解