Linux进程状态

一、Linux进程的基本状态:

Linux进程可分为六种状态:(主要靠信号量去控制进程)

R 运行状态(running)

S 睡眠状态(sleeping)

D 磁盘休眠状态(Disk sleep)

T 停止状态(stopped)

Z 僵尸状态(Zombies)

X 死亡状态

其简单关系如下图:

Linux进程状态_第1张图片

 

R运行状态:表明进程要么在运行,要么在运行队列中,等待被OS分配时间片(调度)。

S睡眠状态:表明进程在等待事件完成,如socket连接,等待信号量唤醒等等,也叫可中断睡眠。

D磁盘休眠状态:表明不可中断的状态,又叫不可中断睡眠状态,通常等待I/O结束并告知其。

T停止状态:表明目前进程正在侦测或停止,可以通过发送 SIGSTOP 信号给进程来停止(T)进程。这个被暂停的进程可以通过发送 SIGCONT 信号让进程继续运行。

Z僵尸状态:表明子程序已停止,父程序无法读取子程序结束信息。

X死亡状态:这个状态只是一个返回状态,你不会在任务列表里看到这个状态。当父进程读取子进程的返回结果时,子进程立刻释放资源。死亡状态是非常短暂的,几乎不可能通过ps命令捕捉到。

二、Linux进程特殊状态:

<         表示进程优先级比较高

N        表示进程优先级比较低

L         表示进程有页面文件锁定在进程中

s         表示进程为控制进程,如systemd进程

I          表示进程是多线程

+         表示当前的进程运行在前台(后台运行在命令之后加 &)

Linux进程状态_第2张图片

 

你可能感兴趣的:(个人学习总结,linux)