task_struct 定义于include/linux/sched.h 中,定义如下:
struct task_struct {
volatile long state;
...
int exit_state;
...
};
其中, state用于表示进程当前的运行状态,exit_state 用于表示进程的退出状态,可能取值如下:
#define TASK_RUNNING 0
#define TASK_INTERRUPTIBLE 1
#define TASK_UNINTERRUPTIBLE 2
#define __TASK_STOPPED 4
#define __TASK_TRACED 8
#define EXIT_ZOMBIE 16
#define EXIT_DEAD 32
#define TASK_DEAD 64
#define TASK_WAKEKILL 128
#define TASK_WAKING 256
#define TASK_STATE_MAX 512
其中,以EXIT开头的用于task->exit_state。