Linux进程状态
一、Linux進(jìn)程的基本狀態(tài):
Linux進(jìn)程可分為六種狀態(tài):(主要靠信號量去控制進(jìn)程)
R 運(yùn)行狀態(tài)(running)
S 睡眠狀態(tài)(sleeping)
D 磁盤休眠狀態(tài)(Disk sleep)
T 停止?fàn)顟B(tài)(stopped)
Z 僵尸狀態(tài)(Zombies)
X 死亡狀態(tài)
其簡單關(guān)系如下圖:
?
R運(yùn)行狀態(tài):表明進(jìn)程要么在運(yùn)行,要么在運(yùn)行隊(duì)列中,等待被OS分配時間片(調(diào)度)。
S睡眠狀態(tài):表明進(jìn)程在等待事件完成,如socket連接,等待信號量喚醒等等,也叫可中斷睡眠。
D磁盤休眠狀態(tài):表明不可中斷的狀態(tài),又叫不可中斷睡眠狀態(tài),通常等待I/O結(jié)束并告知其。
T停止?fàn)顟B(tài):表明目前進(jìn)程正在偵測或停止,可以通過發(fā)送 SIGSTOP 信號給進(jìn)程來停止(T)進(jìn)程。這個被暫停的進(jìn)程可以通過發(fā)送 SIGCONT 信號讓進(jìn)程繼續(xù)運(yùn)行。
Z僵尸狀態(tài):表明子程序已停止,父程序無法讀取子程序結(jié)束信息。
X死亡狀態(tài):這個狀態(tài)只是一個返回狀態(tài),你不會在任務(wù)列表里看到這個狀態(tài)。當(dāng)父進(jìn)程讀取子進(jìn)程的返回結(jié)果時,子進(jìn)程立刻釋放資源。死亡狀態(tài)是非常短暫的,幾乎不可能通過ps命令捕捉到。
二、Linux進(jìn)程特殊狀態(tài):
<? ? ? ? ?表示進(jìn)程優(yōu)先級比較高
N ???????表示進(jìn)程優(yōu)先級比較低
L ????????表示進(jìn)程有頁面文件鎖定在進(jìn)程中
s ????????表示進(jìn)程為控制進(jìn)程,如systemd進(jìn)程
I? ? ? ? ? 表示進(jìn)程是多線程
+ ????????表示當(dāng)前的進(jìn)程運(yùn)行在前臺(后臺運(yùn)行在命令之后加 &)
?
總結(jié)
- 上一篇: 程序员必备画图技能之——流程图
- 下一篇: Linux 查看进程状态