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

Linux进程状态实战指南:转换关系、监控命令与状态解析

前言

        理解Linux进程状态的核心不仅在于知道RSZ等符号的含义,更在于掌握状态如何转换以及如何实时观测这些状态。无论是调试程序、分析系统负载,还是解决僵尸进程问题,这些技能都至关重要。

目录

一、状态转换关系图

二、查看进程状态的命令

1、ps命令

2、/proc文件系统

3、top/htop命令

三、状态标志后缀


一、状态转换关系图

重点: 

        进程的当前状态会被保存到其进程控制块(PCB)中。在Linux操作系统中,这些状态信息具体存储在task_struct结构体中。


二、查看进程状态的命令

1、ps命令

在Linux操作系统当中我们可以通过 ps aux 或 ps axj 命令查看进程的状态​​​​:

  • a:显示所有终端进程(包括其他用户的进程)
  • x:显示无控制终端的进程(如后台守护进程)
  • j:显示进程相关信息(进程组ID、会话ID、父进程ID及作业控制信息)
  • u:以用户为中心显示详细信息(包括用户、CPU和内存使用情况等)

    ps -eo pid,state,cmd  # 查看所有进程状态

    状态字段为第二列(STAT),可能包含附加标志(如Ss+)。 

    ps aux | grep <process>  # 常用命令(状态列在第8列)

    2、/proc文件系统

    cat /proc/<PID>/status  # 查看详细状态(包含State字段)

    3、top/htop命令

    • top实时显示进程状态(S列):

    • htop 通常不预装在系统中,需要手动安装。根据你的 Linux 发行版,选择对应发行版本命令安装:

    • htop彩色显示,更直观: 


    三、状态标志后缀

    ps输出中,状态标志后缀可能附带额外符号:

    符号含义
    <高优先级进程
    N低优先级进程
    +前台进程组
    s会话领导者(如shell)
    l多线程进程

    示例:Ss+表示会话领导者、可中断睡眠的前台进程。

    http://www.xdnf.cn/news/15333.html

    相关文章:

  • 从代码学习深度强化学习 - DDPG PyTorch版
  • python赤道上空的大气环流剖面图(纬向-高度剖面)
  • 代理模式:控制对象访问
  • Spring AI 项目实战(十七):Spring Boot + AI + 通义千问星辰航空智能机票预订系统(附完整源码)
  • 无缝衔接直播流体验
  • 数据结构 单链表(1)
  • Acrobat 表单中的下拉菜单(附示例下载)
  • ESP-Timer入门(基于ESP-IDF-5.4)
  • 插入类排序的C语言实现
  • Java小白-设计模式
  • C#单例模式管理全局变量
  • OSPF与BGP的联动特性实验案例
  • OSPF与BGP的联动特性
  • Java设计模式之行为型模式(命令模式)
  • 单例模式:确保全局唯一实例
  • Vue文件上传实战指南
  • 【OpenGL 渲染器开发笔记】1 为什么要设计渲染器?
  • Dubbo-Admin 安装与使用指南:可视化管理 Dubbo 服务
  • 初识drag2框架,drag2注入的基本原理
  • 常用的docker命令备份
  • k8s:0/1 nodes are available: pod has unbound immediate PersistentVolumeClaims.
  • 论文Review 3DGSSLAM GauS-SLAM: Dense RGB-D SLAM with Gaussian Surfels
  • 使用python操作文件夹
  • Hashtable 与 HashMap 的区别笔记
  • [GWCTF 2019]我有一个数据库
  • 05.判断日期是工作日还是周末
  • 改进广告投入与销售额预测分析
  • JavaSE-多态
  • 从架构到代码:飞算JavaAI电商订单管理系统技术解构
  • [CH582M入门第六步]软件IIC驱动AHT10