Linux 程序狀態

2021-09-30 16:44:30 字數 555 閱讀 5030

程序狀態

乙個程序可以有幾個狀態(在linux核心裡,程序有時候也叫做任務)

r執行狀態(running):並不意味著程序一定在執行中,它表明程序要麼是在執行中要麼在執行的佇列裡

s睡眠狀態(sleeping)-淺度睡眠:意味著程序在等待事件完成(這裡的睡眠有時候也叫做可中斷睡眠(interruptible sleep))

d磁碟休眠狀態(disk sleep)-深度睡眠:有時候也叫不可中斷睡眠(uninterruptible sleep),在這個狀態的程序通常會等待io結束。

t停止狀態(stopped):可以通過傳送sigstop訊號給程序來停止(t)程序。這個被暫停的程序可以通過發生sigscont訊號讓程序繼續執行

x死亡狀態(dead):這個狀態只是乙個返回狀態,不會在任務列表裡看到這個狀態。

z殭屍狀態(zombie):當程序退出並且父程序沒有讀取到子程序退出的返回**時就會產生殭屍程序。殭屍程序會以終止狀態保持在程序表中,並且會一直等待父程序讀取退出狀態**。所以只要子程序退出,父程序還在執行,但父程序沒有讀取子程序狀態,子程序就會進入z狀態。殭屍程序太多會造成記憶體洩漏

linux 程序 狀態

程序在執行過程中會根據環境來改變state。linux程序有以下狀態 running 程序處於執行 它是系統的當前程序 或者準備執行狀態 它在等待系統將cpu分配給它 waiting 程序在等待乙個事件或者資源。linux將等待程序分成兩類 可中斷與不可中斷。可中斷等待程序可以被訊號中斷 不可中斷等...

linux程序狀態

1.r task running,正在執行或者處於就緒狀態 很多作業系統教科書將正在cpu上執行的程序定義為running狀態 而將可執行但是尚未被排程執行的程序定義為ready狀態,這兩種狀態在linux下統一為 task running狀態。例子 ps aux 會看到ps這個程式命令的執行狀態是...

Linux程序狀態

在linux中,常見的程序狀態有以下幾種 task running 0 程序正在執行或者等待被排程執行 task interruptible 1 程序由於等待某個系統資源或者某個事件而處於掛起 睡眠 狀態。對其傳送訊號 signal 可以將其喚醒 進入task running狀態 task unin...