答:
(1)不可中斷狀態:進程處於睡眠狀態,但是此刻進程是不可中斷的。不可中斷,指進程不響應異步信號。
(2)暫停狀態/跟蹤狀態:向進程發送一個SIGSTOP信號,它就會因響應該信號而進入TASK_STOPPED狀態;當進程正在被跟蹤時,它處於 TASK_TRACED這個特殊的狀態。正被跟蹤”指的是進程暫停下來,等待跟蹤它的進程對它進行操作。
(3)就緒狀態:在run_queue隊列里的狀態。
(4)運行狀態:在run_queue隊列里的狀態。
(5)可中斷睡眠狀態:處於這個狀態的進程因為等待某某事件的發生(比如等待socket 連接、等待信號量),而被掛起。
(6)zombie 狀態(僵屍):父親沒有通過 wait 系列的系統調用會順便將子進程的屍體(task_struct)也釋放掉。
(7)退出狀態 :D 不可中斷Uninterruptible(usually IO);R 正在運行,或在隊列中的進程 ;S 處於休眠狀態;T 停止或被追蹤;Z 僵屍進程;W 進入內存交換(從內核 2.6 開始無效);X 死掉的進程。