最終更新:2013-01-28 (月) 20:04:13 (4098d)
task_struct/state
Top / task_struct / state
volatile long state
-1 | unrunnable |
0 | runnable |
>0 | stopped |
状態
TASK_RUNNING | 0 | 実行可能状態(実行中/実行待ち) |
TASK_INTERRUPTIBLE | 1 | 待ち状態。シグナル受信可能 |
TASK_UNINTERRUPTIBLE | 2 | 待ち状態。シグナル受信不可 |
__TASK_STOPPED? | 4 | サスペンド状態 (SIGSTOP、SIGTSTP、SIGTTIN?、SIGTTOU?のシグナルを受信) |
__TASK_TRACED? | 8 | デバッガーなど別のプロセスによって停止されている |
task_struct/exit_state
EXIT_ZOMBIE 16 ゾンビ状態。(メモリ解放待ち)exit後の状態 EXIT_DEAD 32 即座に解放
task_struct/state_again?
TASK_DEAD? 64 TASK_WAKEKILL 128 TASK_WAKING? 256 TASK_STATE_MAX? 512
Linux 2.6.25で追加
TASK_KILLABLE | (TASK_WAKEKILL | TASK_UNINTERRUPTIBLE) |
TASK_STOPPED? | (TASK_WAKEKILL | __TASK_STOPPED?) |
TASK_TRACED? | (TASK_WAKEKILL | __TASK_TRACED?) |
TASK_NORMAL | (TASK_INTERRUPTIBLE | TASK_UNINTERRUPTIBLE) |
TASK_ALL? | (TASK_NORMAL | __TASK_STOPPED? | __TASK_TRACED?) |
TASK_REPORT? | (TASK_RUNNING | TASK_INTERRUPTIBLE | TASK_UNINTERRUPTIBLE | __TASK_STOPPED? | __TASK_TRACED?) |