进程拥有以下几种状态:就绪/运行状态、等待状态(可以被中断打断)、等待状态(不可以被中断打断)、停止状态和僵死状态.

TASK_RUNNING:
正在运行或处于就绪状态:就绪状态是指进程申请到了CPU以外的其他所有资源,正所谓:万事俱备,只欠东风.提醒:一般的操作系统教科书将正在CPU上执
行的进程定义为RUNNING状态、而将可执行但是尚未被调度执行的进程定义为READY状态,这两种状态在Linux下统一为
TASK_RUNNING状态.
TASK_INTERRUPTIBLE:
处于等待队伍中,等待资源有效时唤醒(比如等待键盘输入、socket连接、信号等等),但可以被中断唤醒.一般情况下,进程列表中的绝大多数进程都处于
TASK_INTERRUPTIBLE状态.毕竟皇帝只有一个(单个CPU时),后宫佳丽几千;如果不是绝大多数进程都在睡眠,CPU又怎么响应得过来.
TASK_UNINTERRUPTIBLE:处于等待队伍中,等待资源有效时唤醒(比如等待键盘输入、socket连接、信号等等),但不可以被中断唤醒.
TASK_ZOMBIE:僵死状态,进程资源用户空间被释放,但内核中的进程PCB并没有释放,等待父进程回收.
TASK_STOPPED:进程被外部程序暂停(如收到SIGSTOP信号,进程会进入到TASK_STOPPED状态),当再次允许时继续执行(进程收到SIGCONT信号,进入TASK_RUNNING状态),因此处于这一状态的进程可以被唤醒.
用户级进程之间的状态切换关系如图2所示.

 

图2 用户进程状态切换图

http://blog.csdn.net/u010006102/article/details/39957967

最新文章

  1. Spring操作指南-IoC基础环境配置(基于XML)
  2. Windows Git中文文件名乱码
  3. Spine批量导出Command line Export
  4. 第二章——建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别-----答题者:徐潇瑞
  5. 转-Android中自动连接到指定SSID的Wi-Fi
  6. leetcode 129. Sum Root to Leaf Numbers ----- java
  7. win8 hyper-v 禁用不必卸载虚拟机
  8. 【转】使用junit进行单元测试(中级篇)
  9. 黑马程序员—C语言的特点和关键字
  10. Android中使用HttpGet和HttpPost访问HTTP资源
  11. SAP 条形码
  12. NFS启动时报错Linux NFS:could not open connection for tcp6
  13. 【Qt编程】基于Qt的词典开发系列<二>--本地词典的设计
  14. Xshell访问和连接Linux
  15. CSS初识盒子
  16. ios原生项目内嵌u3d工程
  17. jsp相关笔记(三)
  18. Partition Array into Disjoint Intervals LT915
  19. Bootstrap表单构造器
  20. spring核心之AOP学习总结二

热门文章

  1. Python3基础 dict pop 弹出指定键的项
  2. POJ 1679 The Unique MST 【判断最小生成树是否唯一】
  3. centos6配置网络常见问题
  4. (转)Spring Cloud(一)
  5. (转)Nginx学习
  6. sql server查看用户权限
  7. pip运行错误
  8. activiti 5.13流程图连线名称不显示bug修复
  9. Docker与.Net项目类型
  10. 1、http协议基础及IO模型