D 不可中斷睡眠(通常進程在進行I/O)
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