Linux 内核进程管理 ( Linux 内核中的进程状态 | TASK_RUNNING | TASK_INTERRUPTIBLE | __TASK_STOPPED | EXIT_ZOMBIE )
Posted 韩曙亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 内核进程管理 ( Linux 内核中的进程状态 | TASK_RUNNING | TASK_INTERRUPTIBLE | __TASK_STOPPED | EXIT_ZOMBIE )相关的知识,希望对你有一定的参考价值。
文章目录
- 一、Linux 内核中的进程状态
- 二、TASK_RUNNING 状态
- 三、TASK_RUNNING 状态
- 四、TASK_UNINTERRUPTIBLE 状态
- 五、__TASK_STOPPED 状态
- 六、EXIT_ZOMBIE 状态
一、Linux 内核中的进程状态
Linux 内核 为 进程管理 提供了一系列的 API , 如
- TASK_RUNNING
- TASK_INTERRUPTIBLE
- TASK_UNINTERRUPTIBLE
- __TASK_STOPPED
- EXIT_ZOMBIE
二、TASK_RUNNING 状态
TASK_RUNNING : 表示 执行状态 或 就绪状态 ;
该进程 可以执行 , 或者已经准备就绪 , 随时开始执行 ;
Linux 内核中 , 没有对 执行状态 / 就绪状态 进行 明确的区分 ;
三、TASK_RUNNING 状态
TASK_INTERRUPTIBLE : 表示 可中断睡眠状态 ;
进程进入到该状态进行阻塞 , 一旦 执行条件达成 , 立刻 中断阻塞 , 开始执行进程 , 进入 TASK_RUNNING 状态 ;
该状态又称为 " 浅睡眠状态 " ;
四、TASK_UNINTERRUPTIBLE 状态
TASK_UNINTERRUPTIBLE : 表示 不可中断睡眠状态 ;
该状态与 TASK_INTERRUPTIBLE 状态唯一区别是 , 在阻塞状态太下 , 不受干扰 , 不接收任何外部信号 ;
使用 ps aux
命令查看进程时 , 标记为 D 的状态 是该 TASK_UNINTERRUPTIBLE 状态 , 该状态下的进程不能被杀死 ;
该状态又称为 " 深度睡眠状态 "
五、__TASK_STOPPED 状态
__TASK_STOPPED : 表示 终止状态 , 该状态下 进程停止运行 ;
六、EXIT_ZOMBIE 状态
EXIT_ZOMBIE : 表示 僵尸状态 ;
此时进程 已经消亡 , 但是还 没有释放相关资源 ;
每个进程在声明周期中 , 都要经过该状态 ;
以上是关于Linux 内核进程管理 ( Linux 内核中的进程状态 | TASK_RUNNING | TASK_INTERRUPTIBLE | __TASK_STOPPED | EXIT_ZOMBIE )的主要内容,如果未能解决你的问题,请参考以下文章
Linux 内核Linux 内核体系架构 ( 进程调度 | 内存管理 | 中断管理 | 设备管理 | 文件系统 )
Linux 内核进程管理 ( 进程特殊形式 | 内核线程 | 用户线程 | C 标准库与 Linux 内核中进程相关概念 | Linux 查看进程命令及输出字段解析 )