进程状态

#define TASK_RUNNING 0 //正在运行或处于就绪状态 两种状态在linux中都为TASK_RUNNING
#define TASK_INTERRUPTIBLE 1//处于等待队伍中,等待资源有效时唤醒,可被中断唤醒
#define TASK_UNINTERRUPTIBLE 2//处于等待队伍中,等待资源有效时唤醒 不可被中断唤醒
#define __TASK_STOPPED 4//进程被外部程序暂停 进程已中止执行,它没有运行,并且不能运行
#define __TASK_TRACED 8//跟踪状态 正被调试程序等其他进程监控时,进程将进入这种状态
/* in tsk->exit_state */
#define EXIT_ZOMBIE 16//僵死状态,进程资源用户空间被释放,但内核中的进程PCB并没有释放,等待父进程回收.
#define EXIT_DEAD 32//僵死撤销状态 PCB释放会将进程进程设置此状态
/* in tsk->state again */
#define TASK_DEAD 64//进入死亡状态 在进程结束 但此时PCB还是存在懂得
#define TASK_WAKEKILL 128 //唤醒杀死状态  此状态与TASK_UNINTERRUPTIBLE类似 但可以接受致命信号唤醒线程
#define TASK_WAKING 256//唤醒状态 进程收到唤醒信号处于唤醒状态
/* Convenience macros for the sake of set_task_state */
#define TASK_KILLABLE (TASK_WAKEKILL | TASK_UNINTERRUPTIBLE)//可杀死状态
#define TASK_STOPPED (TASK_WAKEKILL | __TASK_STOPPED)//暂停状态
#define TASK_TRACED (TASK_WAKEKILL | __TASK_TRACED)//跟踪状态


/* Convenience macros for the sake of wake_up */
#define TASK_NORMAL (TASK_INTERRUPTIBLE | TASK_UNINTERRUPTIBLE)//阻塞状态
#define TASK_ALL (TASK_NORMAL | __TASK_STOPPED | __TASK_TRACED)//阻塞状态和暂停以及跟踪状态


/* get_task_state() */
#define TASK_REPORT (TASK_RUNNING | TASK_INTERRUPTIBLE | \
TASK_UNINTERRUPTIBLE | __TASK_STOPPED | \
__TASK_TRACED)//包含运行 阻塞状态 和停止跟踪状态
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值