【Linux 内核】进程管理 ( Linux 内核中的进程状态 | TASK_RUNNING | TASK_INTERRUPTIBLE | __TASK_STOPPED | EXIT_ZOMBIE )
文章目錄
- 一、Linux 內核中的進程狀態
- 二、TASK_RUNNING 狀態
- 三、TASK_RUNNING 狀態
- 四、TASK_UNINTERRUPTIBLE 狀態
- 五、__TASK_STOPPED 狀態
- 六、EXIT_ZOMBIE 狀態
一、Linux 內核中的進程狀態
Linux 內核 為 進程管理 提供了一系列的 API , 如
- TASK_RUNNING
- TASK_INTERRUPTIBLE
- TASK_UNINTERRUPTIBLE
- __TASK_STOPPED
- EXIT_ZOMBIE
二、TASK_RUNNING 狀態
TASK_RUNNING : 表示 執行狀態 或 就緒狀態 ;
該進程 可以執行 , 或者已經準備就緒 , 隨時開始執行 ;
Linux 內核中 , 沒有對 執行狀態 / 就緒狀態 進行 明確的區分 ;
三、TASK_RUNNING 狀態
TASK_INTERRUPTIBLE : 表示 可中斷睡眠狀態 ;
進程進入到該狀態進行阻塞 , 一旦 執行條件達成 , 立刻 中斷阻塞 , 開始執行進程 , 進入 TASK_RUNNING 狀態 ;
該狀態又稱為 " 淺睡眠狀態 " ;
四、TASK_UNINTERRUPTIBLE 狀態
TASK_UNINTERRUPTIBLE : 表示 不可中斷睡眠狀態 ;
該狀態與 TASK_INTERRUPTIBLE 狀態唯一區別是 , 在阻塞狀態太下 , 不受干擾 , 不接收任何外部信號 ;
使用 ps aux 命令查看進程時 , 標記為 D 的狀態 是該 TASK_UNINTERRUPTIBLE 狀態 , 該狀態下的進程不能被殺死 ;
該狀態又稱為 " 深度睡眠狀態 "
五、__TASK_STOPPED 狀態
__TASK_STOPPED : 表示 終止狀態 , 該狀態下 進程停止運行 ;
六、EXIT_ZOMBIE 狀態
EXIT_ZOMBIE : 表示 僵尸狀態 ;
此時進程 已經消亡 , 但是還 沒有釋放相關資源 ;
每個進程在聲明周期中 , 都要經過該狀態 ;
總結
以上是生活随笔為你收集整理的【Linux 内核】进程管理 ( Linux 内核中的进程状态 | TASK_RUNNING | TASK_INTERRUPTIBLE | __TASK_STOPPED | EXIT_ZOMBIE )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Linux 内核】进程管理 ( Lin
- 下一篇: 【Linux 内核】进程管理 task_