当前位置: 首页 > news >正文

crash 内核调试工具 ps 指令 显示的进程状态 RU, IN, UN, ZO, ST, TR, DE, SW, WA, PA 什么意思

crash> help ps | grep "the task state"
5. the task state (RU, IN, UN, ZO ,ST, TR, DE, SW, WA, PA, ID, NE)

参考linux-4.19.113内核源码(include/linux/sched.h),有如下定义

/** Task state bitmask. NOTE! These bits are also* encoded in fs/proc/array.c: get_task_state().** We have two separate sets of flags: task->state* is about runnability, while task->exit_state are* about the task exiting. Confusing, but this way* modifying one set can't modify the other one by* mistake.*//* Used in tsk->state: */
#define TASK_RUNNING			0x0000
#define TASK_INTERRUPTIBLE		0x0001
#define TASK_UNINTERRUPTIBLE		0x0002
#define __TASK_STOPPED			0x0004
#define __TASK_TRACED			0x0008
/* Used in tsk->exit_state: */
#define EXIT_DEAD			0x0010
#define EXIT_ZOMBIE			0x0020
#define EXIT_TRACE			(EXIT_ZOMBIE | EXIT_DEAD)
/* Used in tsk->state again: */
#define TASK_PARKED			0x0040
#define TASK_DEAD			0x0080
#define TASK_WAKEKILL			0x0100
#define TASK_WAKING			0x0200
#define TASK_NOLOAD			0x0400
#define TASK_NEW			0x0800
#define TASK_STATE_MAX			0x1000/* Convenience macros for the sake of set_current_state: */
#define TASK_KILLABLE			(TASK_WAKEKILL | TASK_UNINTERRUPTIBLE)
#define TASK_STOPPED			(TASK_WAKEKILL | __TASK_STOPPED)
#define TASK_TRACED			(TASK_WAKEKILL | __TASK_TRACED)#define TASK_IDLE			(TASK_UNINTERRUPTIBLE | TASK_NOLOAD)/* Convenience macros for the sake of wake_up(): */
#define TASK_NORMAL			(TASK_INTERRUPTIBLE | TASK_UNINTERRUPTIBLE)/* get_task_state(): */
#define TASK_REPORT			(TASK_RUNNING | TASK_INTERRUPTIBLE | \TASK_UNINTERRUPTIBLE | __TASK_STOPPED | \__TASK_TRACED | EXIT_DEAD | EXIT_ZOMBIE | \TASK_PARKED)

即:

RU

TASK_RUNNING

可执行状态或运行状态

IN

TASK_INTERRUPTIBLE

可中断阻塞状态
UN

TASK_UNINTERRUPTIBLE

不可中断阻塞状态
ZO

EXIT_ZOMBIE

僵死状态
ST

TASK_STOPPED

暂停状态
TR

TASK_TRACED

跟踪状态
DE

TASK_DEAD (EXIT_DEAD ?)

退出状态
SW?
WA

TASK_WAKEKILL? TASK_WAKING?

PA

TASK_PARKED

?
ID

TASK_IDLE

空闲?
NE

TASK_NEW

新建?

参考: ​​​​​​​​​​​​​​Linux进程状态及其相互转换_linux进程状态转换图_刘鹏加油呀的博客-CSDN博客

http://www.lryc.cn/news/45423.html

相关文章:

  • Spring《二》bean的实例化与生命周期
  • java与kotlin 写法区别
  • 服务器运行深度学习代码使用指南
  • 计算机组成原理 - 2. 数据的表示和运算
  • 【js】基础知识点--语句,break和continue,switch,with,for..in,do-while,while
  • 【C++】迭代器
  • 数据可视化在前端中的应用
  • FFmpeg 合并视频文件没声音,不同步原因
  • 绕不开的“定位”
  • 《Effective Objective-C 2.0 》 阅读笔记 item12
  • 云原生计算能消除技术债务吗?
  • 9. 回文数
  • [SV]SystemVerilog线程之fork...join专题
  • 你看这个spring的aop它又大又宽
  • 设计模式-创建-单例模式
  • 使用mybatis-plus-generator配置一套适合你的CRUD
  • MATLAB实现各种离散概率密度函数(概率密度/分布/逆概率分布函数)
  • 指针的基本知识
  • 当你的IDE装上GPT
  • 一图看懂 pathlib 模块:面向对象的文件系统路径, 资料整理+笔记(大全)
  • 前端如何将node.js 和mongodb部署到linux服务器上
  • mysql数据迁移
  • 【4.3蓝桥备战】小朋友崇拜圈、正则问题
  • MySQL读写分离中间件
  • 【Spring源码设计模式】单例模式外带设计模式的单例模式
  • go并发编程 —— singleflight设计模式
  • 【LeetCode】二叉树的中序遍历(递归,迭代,Morris遍历)
  • 银行数字化转型导师坚鹏:数字化转型背景下的银行柜员提升之道
  • ChatGPT的平替来了?一文总结 ChatGPT 的开源平替,你值得拥有
  • 关于数据同步工具DataX部署