进程状态

在linux_4.1.15\include\linux\sched.h文件中定义了进程的状态;

#define TASK_RUNNING		0
#define TASK_INTERRUPTIBLE	1
#define TASK_UNINTERRUPTIBLE	2
#define __TASK_STOPPED		4
#define __TASK_TRACED		8
/* in tsk->exit_state */
#define EXIT_DEAD		16
#define EXIT_ZOMBIE		32
#define EXIT_TRACE		(EXIT_ZOMBIE | EXIT_DEAD)
/* in tsk->state again */
#define TASK_DEAD		64
#define TASK_WAKEKILL		128
#define TASK_WAKING		256
#define TASK_PARKED		512
#define TASK_STATE_MAX		1024

1、TASK_RUNNING(R)

        可执行状态,包括就绪状态和正在CPU上执行的状态;

2、TASK_INTERRUPTIBLE(S)

        可中断睡眠状态,即阻塞状态,之所以处于这个状态是因为进程资源未准备好而被阻塞;

3、TASK_UNINTERRUTIBLE(D)

        不可中断状态的睡眠状态,该状态不可被信号唤醒,用于处理某些流程不能被打断的任务;

4、TASK_DEAD(Z)

        僵尸进程,父进程不退出且没有对已结束的子进程执行wait系统调用,子进程就处于僵尸状态,如果父进程结束运行,会将子进程托管给别的进程使之成为别的进程的子进程;

参考资料

《操作系统之编程观察》-罗秋明  第三章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值