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

在 Linux 中,进程的 状态(State) 是一个非常重要的概念,它描述了进程当前所处的生命周期阶段,这些信息可以通过多种命令查看,最常用的是 ps、top 或 /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 已停止,进程被暂停,通常是因为收到了 SIGSTOP、SIGTSTP 信号,或者被调试器(如 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

相关推荐

  • 国外业务中台续费怎么操作?国外业务中台续费流程详解

    在全球化商业版图不断扩张的当下,企业海外业务的稳定性与增长性成为衡量竞争力的关键指标,国外业务中台续费不仅仅是一次简单的财务支出,而是企业全球化战略延续的核心决策,是确保海外数据流转、业务协同及本地化运营不中断的生命线, 这一决策直接关系到企业能否持续享受技术红利,降低运维成本,并保障跨境业务的安全合规,面对复……

    2026年3月7日
    13300
  • 电影服务器配置怎么选?电影网站服务器配置要求有哪些

    电影网站服务器配置的核心在于平衡高并发带宽与大容量存储,建议起步选择2核4G内存、5M以上独享带宽及1TB SSD硬盘,若追求高清流畅体验,则需升级至4核8G及以上配置并配合CDN加速,搭建电影网站并非简单的文件上传,而是一场关于流量、存储与加载速度的精密博弈,很多站长在初期为了节省成本,选择了最低配的虚拟主机……

    2026年7月8日
    4610
  • 简米云轻量应用服务器CPU限制多少?,性能怎么样?

    阿里云轻量应用服务器CPU没有隐性限制,性能由所选套餐规格直接决定,标准实例提供独享CPU资源,不存在基准性能或突发积分约束,阿里云轻量应用服务器CPU性能真相不同套餐规格对应的CPU性能阿里云轻量应用服务器底层基于Intel Xeon处理器,根据套餐差异提供不同vCPU数量,目前在售规格涵盖1核、2核、4核等……

    2026年8月6日
    200
  • ajax技术原理是什么?ajax技术原理及应用场景

    AJAX技术原理的核心在于利用JavaScript与XMLHttpRequest对象在后台与服务器进行异步数据交换,从而实现页面局部刷新,避免整页重新加载,AJAX技术原理:从“全页刷新”到“局部更新”的演进在早期的Web开发时代,用户点击一个按钮,整个网页就会像老式电视机换台一样闪烁一下,重新加载所有内容,这……

    2026年6月12日
    2600
  • 如何在Linux上安装Ghostscript?,怎么使用

    在Linux环境下,Ghostscript是处理PostScript和PDF文件最高效的开源工具,其命令行接口和跨平台稳定性让它在服务器端文档处理中占据核心地位,ghostscript linux安装方法:从包管理器到源码编译对于大多数Linux用户,通过包管理器安装Ghostscript是第一种方式,适配不同……

    2026年7月18日
    1600
  • APP测试有哪些技术要点?

    APP测试的核心在于构建覆盖功能、性能、兼容性及安全性的全链路验证体系,通过自动化与手动测试结合,确保应用在复杂网络与多设备环境下的稳定性与用户体验,在移动互联网高度成熟的今天,单纯的功能跑通已无法满足上线标准,测试工作必须从“找Bug”转向“保体验”,这要求测试人员具备更宏观的技术视野和更细致的场景感知能力……

    2026年6月13日
    3600
  • 现在50g硬防服务器大概多少钱?,哪家好?

    现在50g硬防服务器月租价格普遍在500元至3000元区间,具体取决于机房线路、防御架构和附加服务,部分配置较高或带有专属清洗节点的方案甚至可达5000元以上,这个价格区间覆盖了从基础单机防护到企业级多线BGP集群的主流需求,但实际成交价往往因服务商资质、带宽规模和运维响应速度而浮动,下面从核心成本、主流服务商……

    2026年8月13日
    100
  • Linux怎么使用CMake编译,cmake怎么安装配置?

    在 Linux 上从源码编译安装 CMake虽然大多数 Linux 发行版都可以通过包管理器(如 apt 或 yum)直接安装 CMake,但包管理器提供的版本往往较旧,如果你需要使用最新特性,从源码编译是最佳选择,准备工作在开始编译之前,必须确保系统中已经安装了必要的构建工具和依赖项,编译器:gcc 和 g……

    2026年7月13日
    9700
  • linux tell命令是什么?,怎么用?

    Linux tell命令是一个用于在系统用户间发送即时终端消息的轻量级工具,其安装和用法在不同发行版上略有差异,掌握它能让服务器协作沟通更高效,什么是linux tell命令tell命令源自Unix早期消息系统,与write、wall同属一类工具,它允许一个用户向另一个已登录用户的终端发送一行文本,常用于快速通……

    2026年7月22日
    600
  • asp企业网站管理系统怎么登录,企业网站管理系统登录入口

    构建一个安全、高效且易于维护的ASP企业网站管理系统,核心在于登录系统网站的架构设计与权限逻辑的严密性,登录系统不仅是企业网站管理的“守门人”,更是数据安全的第一道防线,其稳定性直接决定了企业数字化运营的成败, 对于采用ASP技术架构的企业而言,摒弃传统的明文密码传输与简单的Session验证,转向基于加密算法……

    2026年3月17日
    12100

发表回复

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