Linux 的进程状态
?
(1)運行:當一個進程在處理機上運行時,則稱該進程處于運行狀態。處于此狀態的進程的數目小于等于處理器的數目,對于單處理機系統,處于運行狀態的進程只有一個。在沒有其他進程可以執行時(如所有進程都在阻塞狀態),通常會自動執行系統的空閑進程。
(2)就緒:當一個進程獲得了除處理機以外的一切所需資源,一旦得到處理機即可運行,則稱此進程處于就緒狀態。就緒進程可以按多個優先級來劃分隊列。例如,當一個進程由于時間片用完而進入就緒狀態時,排入低優先級隊列;當進程由I/O操作完成而進入就緒狀態時,排入高優先級隊列。
(3)阻塞:也稱為等待或睡眠狀態,一個進程正在等待某一事件發生(例如請求I/O而等待I/O完成等)而暫時停止運行,這時即使把處理機分配給進程也無法運行,故稱該進程處于阻塞狀態。
?
在linux下用ps -aux 查看的進程狀態 stat
? ? D? ? 不可中斷? ???Uninterruptible sleep (usually IO)
? ? R? ? 正在運行,或在隊列中的進程
? ? S? ? 處于休眠狀態
? ? T? ? 停止或被追蹤
? ? Z? ? 僵尸進程
? ? W? ? 進入內存交換(從內核2.6開始無效)
? ? X? ? 死掉的進程
進程后面跟的修飾符
? ? <? ? 高優先級
? ? N? ? 低優先級
? ? L? ? 有些頁被鎖進內存
? ? s? ? 包含子進程
? ? +? ? 位于后臺的進程組;
? ? l? ? 多線程,克隆線程??multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
轉載于:https://www.cnblogs.com/tl542475736/p/8120514.html
總結
以上是生活随笔為你收集整理的Linux 的进程状态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python- 常见算法 python内
- 下一篇: ssdb的网络模型