D 不可中斷睡眠(一般進程在進行I/O)linux
R 運行中或者可運行狀態(在運行隊列中)
S 可中斷睡眠(等待event,進程idle中)
T 進程中止(進程被trace或者進程被信號中止)
X 進程死亡(應該永不可見)
Z 殭屍進程(結束,可是父進程沒有wait該子進程)
對於BSD格式,狀態碼能夠附加額外的字符(如S+):
< 高優先級進程
N 低優先級進程
L 進程進行了內存鎖定 (避免swap)
s 進程是session leader
l 多線程(using CLONE_THREAD, like NPTL pthreads do)
+ 屬於前臺進程組
簡單的進程狀態切換圖:
「圖片來自https://idea.popcount.org/2012-12-11-linux-process-states/」
舉個例子:
(1)ps是運行中的前臺進程
(2)sshd處於可中斷睡眠狀態而且是session leader
參考man ps, PROCESS STATE CODES