Linux 中的新进程状态
来源:互联网 发布:mathematica 11.2 mac 编辑:程序博客网 时间:2024/06/07 07:09
Linux® kernel 2.6.25 引入了一种新的进程状态,名为TASK_KILLABLE
,用于将进程置为睡眠状态,它可以替代有效但可能无法终止的TASK_UNINTERRUPTIBLE
进程状态,以及易于唤醒但更加安全的TASK_INTERRUPTIBLE
进程状态。2002 年,OpenAFS 文件系统驱动程序在阻塞所有信号之后等待事件中断时遇到了问题,而TASK_KILLABLE
就是因此而被推出的。这种新的睡眠状态允许TASK_UNINTERRUPTIBLE
响应致命信号。在本文中,作者将介绍这方面的内容,并结合 2.6.26 和早期版本 2.6.18 中的示例来讨论 Linux 内核发生的相关变化以及这些变化带来的新 API。
类似于文件,进程是任何 UNIX® 操作系统的基本元素。进程是执行可执行文件的指令的动态实体。除了执行其指令之外,进程有时还会管理 打开文件、处理器上下文、地址空间以及与程序相关的数据等。Linux 内核将关于进程的完整信息保存在进程描述符 中,它的结构被定义为 struct task_struct
。您可以在 Linux 内核源文件 include/linux/sched.h 中看到 struct task_struct
的各个字段。
关于进程状态
在进程的生命周期内,可能会经历一系列互斥的状态。内核将进程的状态信息保存在 struct task_struct
的 state 字段中。图 1 展示了进程状态之间的转换。
图 1. 进程状态转换
我们先来了解一下各种进程状态:
本文转自IBM Developerworks中国
请点击此处查看全文
- Linux 中的新进程状态
- TASK_KILLABLE:Linux 中的新进程状态
- TASK_KILLABLE:Linux 中的新进程状态
- Linux中的进程状态
- Linux 中的进程及其状态
- Linux中的进程状态用转换
- Linux 查看进程中的线程、及其状态信息
- linux 进程 状态
- Linux进程状态
- Linux进程状态解析
- linux进程状态
- linux进程状态浅析
- linux进程状态浅析
- linux进程状态浅析
- Linux 进程状态 说明
- Linux进程状态解析
- Linux进程状态解析
- Linux 进程状态
- jBPM开发入门指南(2)
- VB简单实现窗口全透明
- IBM Data Studio 软件总览图
- 使用 Eclipse Ganymede 进行桌面、Web 和移动设备开发
- 使用 JUnit 对规则进行单元测试
- Linux 中的新进程状态
- SOA 非功能测试最佳实践
- 用 IBM Rational Application Developer V7.5 中的 JPA、Ajax 与 Dojo 工具开发 Web 2.0 应用程序
- AIX系统与性能的监视和调优
- 用 WebSphere Integration Developer V6.1.2构建 SOA 应用程序
- Web 站点开发实践
- jBPM开发入门指南(3)
- 我的博客的地址http://xxcainiao.cnblogs.com
- MV45AFZZ