Linux面試真題 - Linux 中進程有哪幾種狀態(tài)?在 ps 顯示出來的信息中,分別用什么符號表示的?
【Linux面試真題】- Linux 中進程有哪幾種狀態(tài)?在 ps 顯示出來的信息中,分別用什么符號表示的?
(1)、不可中斷狀態(tài):進程處于睡眠狀態(tài),但是此刻進程是不可中斷的。不可中斷, 指進程不響應(yīng)異步信號。
(2)、暫停狀態(tài)/跟蹤狀態(tài):向進程發(fā)送一個 SIGSTOP 信號,它就會因響應(yīng)該信號 而進入 TASK_STOPPED 狀態(tài);當(dāng)進程正在被跟蹤時,它處于 TASK_TRACED 這個特殊的狀態(tài)。
“正在被跟蹤”指的是進程暫停下來,等待跟蹤它的進程對它進行操作。
(3)、就緒狀態(tài):在 run_queue 隊列里的狀態(tài)
(4)、運行狀態(tài):在 run_queue 隊列里的狀態(tài)
(5)、可中斷睡眠狀態(tài):處于這個狀態(tài)的進程因為等待某某事件的發(fā)生(比如等待 socket 連接、等待信號量),而被掛起
(6)、zombie 狀態(tài)(僵尸):父親沒有通過 wait 系列的系統(tǒng)調(diào)用會順便將子進程的尸體(task_struct)也釋放掉
(7)、退出狀態(tài)