1. 運(yùn)行(正在運(yùn)行或在運(yùn)行隊(duì)列中等待)
2. 中斷(休眠中, 受阻, 在等待某個(gè)條件的形成或接受到信號(hào))
3. 不可中斷(收到信號(hào)不喚醒和不可運(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信號(hào)后停止運(yùn)行運(yùn)行)
1)ps a 顯示現(xiàn)行終端機(jī)下的所有程序,包括其他用戶的程序。
2)ps -A 顯示所有程序。
3)ps c 列出程序時(shí),顯示每個(gè)程序真正的指令名稱,而不包含路徑,參數(shù)或常駐服務(wù)的標(biāo)示。
4)ps -e 此參數(shù)的效果和指定"A"參數(shù)相同。
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 采用程序信號(hào)的格式顯示程序狀況。
10)ps S 列出程序時(shí),包括已中斷的子程序資料。
11)ps -t <終端機(jī)編號(hào)> 指定終端機(jī)編號(hào),并列出屬于該終端機(jī)的程序的狀況。
12)ps u 以用戶為主的格式來顯示程序狀況。
13)ps x 顯示所有程序,不以終端機(jī)來區(qū)分。
14)ps -l 較長,較詳細(xì)的顯示該P(yáng)ID的信息
# ps -lA |more
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 1 0 0 76 0 - 1193 109952 ? 00:00:03 init
1 S 0 2 1 0 -40 - - 0 migrat ? 00:00:03 migration/0
1 S 0 3 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/0
1 S 0 4 1 0 -40 - - 0 migrat ? 00:00:02 migration/1
1 S 0 5 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/1
1 S 0 6 1 0 -40 - - 0 migrat ? 00:00:02 migration/2
1 S 0 7 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/2
相關(guān)信息的意義:
F 進(jìn)程的標(biāo)誌(flag),4表示用戶為超級用戶
S 進(jìn)程的狀態(tài)(stat),各STAT的意義見下文
PID 進(jìn)程的ID
C CPU使用資源的百分比
PRI priority(優(yōu)先級)的縮寫,
NI Nice值,
ADDR 核心功能,指出該進(jìn)程在內(nèi)存的那一部分,如果是運(yùn)行的進(jìn)程,一般都是“-”
SZ 用掉的內(nèi)存的大小
WCHAN 當(dāng)前進(jìn)程是否正在運(yùn)行,若為“-”表示正在運(yùn)行
TTY 登陸者的終端位置
TIME 用掉的CPU的時(shí)間
CMD 所執(zhí)行的指令
# ps aux |more
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 4772 564 ? S Sep22 0:03 init [3]
root 2 0.0 0.0 0 0 ? S Sep22 0:03 [migration/0]
root 3 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S Sep22 0:02 [migration/1]
root 5 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/1]
root 6 0.0 0.0 0 0 ? Ss+ Sep22 0:02 [migration/2]
root 7 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/2]
root 8 0.0 0.0 0 0 ? S Sep22 0:00 [migration/3]
root 9 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/3]
root 10 0.0 0.0 0 0 ? S< Sep22 0:00 [migration/4]
上述欄位解釋:
USER 進(jìn)程的屬主;
PID 進(jìn)程的ID;
PPID 父進(jìn)程;
%CPU 進(jìn)程占用的CPU百分比;
%MEM 占用內(nèi)存的百分比;
NI 進(jìn)程的NICE值,數(shù)值大,表示較少占用CPU時(shí)間;
VSZ 該進(jìn)程使用的虛擬內(nèi)存量(KB);
RSS 該進(jìn)程占用的固定內(nèi)存量(KB)(駐留中頁的數(shù)量);
TTY 該進(jìn)程在那個(gè)終端上運(yùn)行(登陸者的終端位置),若與終端無關(guān),則顯示(?)。若為pts/0等,則表示由網(wǎng)絡(luò)連接主機(jī)進(jìn)程
WCHAN 當(dāng)前進(jìn)程是否正在進(jìn)行,若為-表示正在進(jìn)行;
START 該進(jìn)程被觸發(fā)啟動(dòng)時(shí)間;
TIME 該進(jìn)程實(shí)際使用CPU運(yùn)行的時(shí)間;
COMMAND 命令的名稱和參數(shù);
STAT狀態(tài)位常見的狀態(tài)字符
D 無法中斷的休眠狀態(tài)(通常 IO 的進(jìn)程);
R 正在運(yùn)行可中在隊(duì)列中可過行的;
S 處于休眠狀態(tài);
T 停止或被追蹤;
W 進(jìn)入內(nèi)存交換 (從內(nèi)核2.6開始無效);
X 死掉的進(jìn)程 (基本很少見);
Z 僵尸進(jìn)程;
< 優(yōu)先級高的進(jìn)程
N 優(yōu)先級較低的進(jìn)程
L 有些頁被鎖進(jìn)內(nèi)存;
s 進(jìn)程的領(lǐng)導(dǎo)者(在它之下有子進(jìn)程);
l 多進(jìn)程的(使用 CLONE_THREAD, 類似 NPTL pthreads);
+ 位于后臺(tái)的進(jìn)程組;