Linux进程stat状态怎么看?linux进程状态详解

在 Linux 中,进程的 状态(State) 是一个非常重要的概念,它描述了进程当前所处的生命周期阶段,这些信息可以通过多种命令查看,最常用的是 pstop/proc/[pid]/stat 文件。

以下是 Linux 进程常见状态的详细解释:

136-linux进程创建-状态查询-僵尸-孤儿-D状态进程详解
加载中
136-linux进程创建-状态查询-僵尸-孤儿-D状态进程详解

常见进程状态符号

ps 命令的输出中,STAT 列或 /proc/[pid]/stat 文件中的第 3 个字段表示进程状态。

核心状态(单字符)

状态符号 全称 含义
R Running 运行中,进程正在 CPU 上运行,或者在运行队列中等待被调度。
S Sleeping 可中断睡眠,进程正在等待某个事件发生(如 I/O 完成、信号、锁等),收到信号后可被唤醒,这是最常见的状态。
D Uninterruptible Sleep 不可中断睡眠,进程正在等待 I/O 操作(通常是磁盘 I/O),此时进程不能被信号中断,即使发送 kill -9 也无法终止,直到 I/O 完成。
T Stopped 已停止,进程被暂停,通常是因为收到了 SIGSTOPSIGTSTP 信号,或者被调试器(如 gdb)跟踪。
Z

Linux进程stat状态怎么看?linux进程状态详解

Zombie

僵尸进程,进程已经终止,但其父进程尚未读取其退出状态(wait()),僵尸进程不占用 CPU 或内存资源,但占用进程号(PID)。
XDead死亡,进程已彻底终止,即将从系统中移除,通常只在极短时间内出现,几乎看不到。

扩展状态(STAT 列中的额外标志)

ps 命令的 STAT 列中,除了第一个字符表示核心状态外,后续字符表示进程的附加状态:

Linux进程stat状态怎么看?linux进程状态详解

标志 含义
< 高优先级(High priority)。
N 低优先级(Low priority)。
s 会话领导者(Session leader),该进程是其会话的第一个进程。
l 多线程(Multi-threaded),该进程是多线程的(使用 clone 系统调用)。
前台进程组(Foreground process group),该进程在前台运行,可以接收终端输入。
I 空闲内核线程(Idle kernel thread),仅在内核线程中出现。
k 内核线程(Kernel thread)。
W 换页(Paging),进程正在换页,通常出现在早期 Linux 内核中。

如何查看进程状态

使用 ps 命令

# 查看所有进程的详细状态
ps aux
# 查看特定 PID 的状态
ps -p <PID> -o pid,stat,comm

示例输出:

  PID STAT COMMAND
 1234 Ss   /sbin/init
 5678 R+   ps aux
 9012 D    java -jar app.jar
  • Ss:可中断睡眠,会话领导者。
  • R+:运行中,前台进程组。
  • D:不可中断睡眠。

使用 top 命令

top 界面中,S 列显示进程状态:

  • R:运行
  • S:睡眠
  • D:不可中断睡眠
  • T:停止
  • Z:僵尸

读取 /proc/[pid]/stat 文件

这是最底层的方式,适用于脚本或程序解析。

cat /proc/<PID>/stat

输出示例:

1234 (bash) S 1233 1234 1234 0 -1 4194304 100 0 0 0 10 5 0 0 20 0 1 0 1234 1234567890 ...
  • 第 1 字段:PID
  • 第 2 字段:进程名(括号内)
  • 第 3 字段:状态(这里是 S

特殊状态详解

🟢 R(Running)

  • 进程正在 CPU 上执行,或正在等待 CPU 调度。
  • 如果很多进程处于 R 状态,可能表示 CPU 负载高。

🔵 S(Sleeping)

  • 大多数用户空间进程处于此状态。
  • 进程在等待事件(如网络数据到达、文件读取完成)。
  • 可被信号中断。

🟠 D(Uninterruptible Sleep)

  • 关键问题:如果大量进程处于 D 状态,通常意味着

    Linux进程stat状态怎么看?linux进程状态详解

    磁盘 I/O 瓶颈存储设备故障

  • kill -9 无效,因为进程在内核态等待 I/O,无法响应信号。
  • 解决方案:检查磁盘健康、I/O 负载,或等待 I/O 完成。

⚫ Z(Zombie)

  • 进程已退出,但父进程未调用 wait() 收集退出状态。
  • 危害:占用 PID 资源,可能导致系统无法创建新进程。
  • 解决方案
    1. 通知父进程处理:kill -SIGCHLD <PPID>
    2. 杀死父进程:kill -9 <PPID>(子进程会被 init 进程收养并清理)

🔴 T(Stopped)

  • 进程被暂停,通常用于调试或后台作业控制。
  • 可通过 kill -CONT <PID> 恢复运行。

常见问题排查

问题:如何查看某个进程的完整状态信息?

# 查看 PID 为 1234 的进程状态cat /proc/1234/status

输出示例:

Name:   bash
State:  S (sleeping)
Tgid:   1234
Pid:    1234
PPid:   1
TracerPid:  0
Uid:    1000    1000    1000    1000
Gid:    1000    1000    1000    1000
FDSize: 64
Groups: 27 30 46 100
VmPeak:   12345 kB
VmSize:   12345 kB
VmRSS:     1234 kB
Threads:  1

问题:如何找出僵尸进程?

ps -eo pid,ppid,stat,comm | grep -w Z

问题:如何找出处于 D 状态的进程?

ps -eo pid,ppid,stat,comm | grep -w D

  • R:正在运行或等待 CPU。
  • S:等待事件(最常见)。
  • D:等待 I/O(需关注磁盘健康)。
  • T:被暂停。
  • Z:僵尸进程(需清理父进程)。

理解进程状态有助于诊断系统性能问题,如 CPU 瓶颈、I/O 瓶颈或资源泄漏。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/477824.html

(0)
Excel不响应怎么办?Excel卡死无响应的解决方法
上一篇 2026年7月10日 03:12
如何测试cdn,如何检测CDN是否生效
下一篇 2026年7月10日 03:14

相关推荐

  • api源码分享网站哪个好?免费API源码下载平台推荐

    优质的API源码获取渠道与专业的源码咨询,直接决定了开发项目的推进速度与稳定性,核心结论在于:开发者不应仅关注源码的免费获取,更应建立一套涵盖安全性检测、授权合规性审查以及后期技术支持评估的完整筛选体系,这才是高效利用API资源的关键,API源码的核心价值与筛选标准在当前的软件开发生态中,API(应用程序编程接……

    2026年3月24日
    9300
  • 半月湾HMBCloud流量转发靠谱吗?香港IPLC专线租用价格

    这是一个非常典型的跨境低带宽、高延迟敏感型服务器配置,通常用于搭建代理节点、测试网络连通性或作为轻量级的中转服务,以下是对该配置的详细分析、适用场景建议以及需要注意的风险点:配置核心分析线路类型 (IPLC):优势:IPLC(国际专线)通常比普通的国际出口(CN2 GIA/9929等)更稳定,延迟更低,丢包率更……

    2026年7月11日
    13700
  • 一台服务器能起多少个socket线程,如何突破线程数限制?

    一台服务器能启动的socket线程数量没有固定上限,主要受操作系统的ulimit文件描述符限制、内存大小以及应用层设计的影响,在合理配置下,单机支撑数十万并发连接是可行的,影响socket线程数量的关键变量文件描述符限制每个socket连接在操作系统中对应一个文件描述符,系统默认的文件描述符上限(ulimit……

    2026年8月6日
    500
  • axb隐私号码保护api有什么功能?axb隐私号码api怎么接入

    AXB隐私号码保护API的核心价值在于通过中间号技术实现通话双方的隐私隔离,在保障业务正常沟通的前提下彻底阻断真实号码泄露,是企业构建信任体系与合规运营的关键基础设施,该API不仅能够有效规避用户信息泄露风险,更能通过全流程的通话数据留存,为企业优化服务流程、提升运营效率提供数据支撑,是当下共享经济、物流配送……

    2026年4月8日
    9300
  • 4核12M服务器能容纳多少人在线,并发数是多少?

    4核12M服务器在典型Web应用场景下,大约能支持50-150人同时在线,实际容量高度依赖业务类型、架构优化和带宽利用率,影响服务器容量的三大核心因素带宽限制:最直接的算力天花板12M带宽的理论下行极限约1.5MB/s,实际有效利用率通常在80%-90%,用户请求资源大小差异极大:一个压缩后的静态页面约50-1……

    2026年8月5日
    500
  • 安装浏览器_浏览器访问,浏览器怎么安装步骤

    在现代数字化办公与日常生活中,高效接入互联网是提升工作效率的前提,核心结论在于:实现流畅的互联网体验,必须精准完成“安装浏览器”这一基础步骤,并掌握正确的“浏览器访问”配置技巧,这不仅是打开网络世界的钥匙,更是保障系统安全与数据隐私的第一道防线, 选择一款合适的浏览器并正确配置,能够显著提升网页加载速度、降低系……

    2026年3月24日
    9400
  • 如何在Linux上安装LightGBM?,的安装步骤是什么?

    LightGBM在Linux系统上能够发挥极致性能,但需要正确配置环境、选择安装方式并优化参数,才能最大化训练效率和模型精度,LightGBM Linux 环境配置在Linux上部署LightGBM,系统依赖是基础,LightGBM官方文档指出,需要GCC 4.9以上、CMake 3.2以上、Boost库和Op……

    2026年7月20日
    800
  • 5寸硬盘服务器2T多少钱,哪款性价比高?

    5寸硬盘服务器搭配2T存储容量的主流配置,市场中全新设备价格区间大致在3500元至8500元之间,具体取决于CPU代数、内存容量和是否包含阵列卡,若选择二手或准系统方案,预算可压至2000元以内,但数据安全性与售后保障需自行承担较大风险,这里讨论的“3.5寸硬盘服务器2t”,通常指2U机架式机箱,配备3.5寸大……

    2026年8月23日
    300
  • Linux如何创建变量?Linux定义变量有哪些常用方法

    在Linux中创建变量主要分为临时环境变量(仅当前会话有效)和持久化系统变量(写入配置文件永久生效)两种核心方式,具体取决于你的业务场景需求,很多刚接触Linux的朋友,看到屏幕上那一串串命令会感到头大,觉得变量这东西高深莫测,它就像是你给某个文件或配置起的一个“昵称”,你不需要记住那个长长的路径 /etc/n……

    2026年7月5日
    18710
  • 42u服务器到底能放多少设备?,怎么选?

    42U标准机柜理论最大可容纳42台1U服务器,但实际部署中考虑到散热、电源冗余和布线空间,通常推荐放置20-30台,具体数量需根据服务器功耗和机房环境灵活调整,了解42U机柜与服务器尺寸关系U是机柜内部高度的标准单位,1U等于1.75英寸(约44.45毫米),42U机柜的可用高度即为42个U位,约73.5英寸……

    2026年8月5日
    1100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注