マンps
ページ
PROCESS STATE CODES
R running or runnable (on run queue)
D uninterruptible sleep (usually IO)
S interruptible sleep (waiting for an event to complete)
Z defunct/zombie, terminated but not reaped by its parent
T stopped, either by a job control signal or because
it is being traced
ウィキペディアhttp://en.wikipedia.org/wiki/Process_state少なくともD、S、T状態は明示的に言及されていない。
D、S、Tは準備状態、遮断状態、その他の状態に属していますか?
答え1
Linuxアーキテクチャにはいわゆる「ブロック」状態がないため、「ブロック」状態が何を意味するのかわかりません。ただし、これらの状態が何を意味するのかを説明できます。
シェルでコマンドを実行すると、sleep 100
そのコマンドが最初に状態に入ったと仮定しますR
。実行中ですが、それほど長くはなく、CPU時間はほんのわずかです。D
ハードドライブを待っているため、中断することなくスリープ状態になることが数回あります。その後、中断可能なスリープ状態に入りますS
。
Ctrl+を押すとそのプロセスにZ進みます。SIGSTOP
その後、プロセスは停止状態に入りますT
。SIGCONT
信号が送信されるまでこの状態を維持します。この状態では、プロセスはCPU時間を受け取りません。
Z
プロセスが終了すると、親プロセスが呼び出されるまでゾンビ状態になり、waitpid()
カーネルはPIDを削除します。