Linux系统的进程通常有以下几种状态:
2016-06-06 23:38
197 查看
R(TASK_RUNNING),可执行状态。
只有在该状态的进程才可能在CPU上运行,同一时刻可能有多个进程处于可执行状态。
S(TASK_INTERRUPTIBLE),可中断的睡眠状态。
处于这个状态的进程因为等待某事件的发生(比如等待socket连接、等待信号量),而被挂起。当这些事件发生时,对应的等待队列中的一个或多个进程将被唤醒。一般情况下,进程列表中的绝大多数进程都处于TASK_INTERRUPTIBLE状态。
D(TASK_UNINTERRUPTIBLE),不可中断的睡眠状态。
与TASK_INTERRUPTIBLE状态类似,进程处于睡眠状态,但是此刻进程是不可中断的。不可中断,指的是进程不响应异步信号,无法用kill命令关闭处于TASK_UNINTERRUPTIBLE状态的进程。
T(TASK_STOPPED or TASK_TRACED),暂停状态或跟踪状态。
向进程发送一个SIGSTOP信号,它就会因响应该信号而进入TASK_STOPPED状态(除非该进程本身处于TASK_UNINTERRUPTIBLE状态而不响应信号)。当进程正在被跟踪时,它处于TASK_TRACED状态。
Z(TASK_DEAD - EXIT_ZOMBIE),退出状态。
进程在退出的过程中,处于TASK_DEAD状态,如果它的父进程没有收到SIGCHLD信号,故未调用wait(如wait4、waitid)处理函数等待子进程结束,又没有显式忽略该信号,它就一直保持EXIT_ZOMBIE状态。只要父进程不退出,这个EXIT_ZOMBIE状态的子进程就一直存在。
X(TASK_DEAD - EXIT_DEAD),退出状态,进程即将被销毁。
EXIT_DEAD状态是非常短暂的,几乎不可能通过ps命令捕捉到
相关文章推荐
- linux内核移植详解1——板级初始化过程
- CentOS增加网卡
- Linux常见面试题2
- Linux常见面试题1
- ubuntu linux 安装composer
- 【转】linux configure报错configure: error: C++ preprocessor “/lib/cpp” fails sanity 的解决办法
- 装完CentOS-6.x之后的简单优化
- Linux计划任务(转载)
- Linux下安装配置java环境
- Linux 挂载概念 理解
- linux下的last命令及其数据源
- 《Linux课本》读书笔记 第十七章 模块
- 在linux system enter suspend 的时候线程冻结
- CentOS下安装Mysql记录
- linux下mysql的编译安装和my.cnf配置文件详解
- 嵌入式Linux裸机开发(五)——SDRAM初始化
- service命令
- linux设备模型之Class
- linux部署pxe+kickstart批量安装linux操作系统实施方案 推荐
- linux select与poll的区别