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)
+ 属于前台进程组
简单的进程状态切换图:
举个例子:
(1)ps是运行中的前台进程
(2)sshd处于可中断睡眠状态并且是session leader
参考man ps,PROCESS STATE CODES。
10个重要的Linux ps命令实战:http://www.linuxdiyf.com/linux/8218.html
Linux ps命令详解:http://www.linuxdiyf.com/linux/5327.html