赞
踩
Linux进程可分为六种状态:(主要靠信号量去控制进程)
R 运行状态(running)
S 睡眠状态(sleeping)
D 磁盘休眠状态(Disk sleep)
T 停止状态(stopped)
Z 僵尸状态(Zombies)
X 死亡状态
其简单关系如下图:
R运行状态:表明进程要么在运行,要么在运行队列中,等待被OS分配时间片(调度)。
S睡眠状态:表明进程在等待事件完成,如socket连接,等待信号量唤醒等等,也叫可中断睡眠。
D磁盘休眠状态:表明不可中断的状态,又叫不可中断睡眠状态,通常等待I/O结束并告知其。
T停止状态:表明目前进程正在侦测或停止,可以通过发送 SIGSTOP 信号给进程来停止(T)进程。这个被暂停的进程可以通过发送 SIGCONT 信号让进程继续运行。
Z僵尸状态:表明子程序已停止,父程序无法读取子程序结束信息。
X死亡状态:这个状态只是一个返回状态,你不会在任务列表里看到这个状态。当父进程读取子进程的返回结果时,子进程立刻释放资源。死亡状态是非常短暂的,几乎不可能通过ps命令捕捉到。
< 表示进程优先级比较高
N 表示进程优先级比较低
L 表示进程有页面文件锁定在进程中
s 表示进程为控制进程,如systemd进程
I 表示进程是多线程
+ 表示当前的进程运行在前台(后台运行在命令之后加 &)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。