0
点赞
收藏
分享

微信扫一扫

【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 :​ 表示 僵尸状态 ;

此时进程 已经消亡 , 但是还 没有释放相关资源 ;

每个进程在声明周期中 , 都要经过该状态 ;



举报

相关推荐

0 条评论