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://idctop.com/article/477824.html

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

相关推荐

  • 服务器200g防御价格多少,怎么收费?

    服务器200G防御的价格通常落在每月几百元到数千元之间,具体要看机房是否持牌自营、防御是真实牵引清洗还是虚标、以及带宽和硬件配置,200G防御到底防的是什么?先搞清楚再谈价格很多新手一上来就问“200G防御服务器多少钱”,但连200G防御具体防什么都不清楚,简单说,200G防御指的是机房在遇到DDoS攻击时,每……

    2026年9月15日
    400
  • 怎么看服务器有多少个cpu,服务器cpu核数查询命令有哪些

    查看服务器CPU数量最直接的办法是登录系统执行lscpu命令(Linux)或打开任务管理器(Windows),但“CPU数量”至少包含物理颗数、物理核心数、逻辑线程数三个维度,实际业务规划中一般以“线程总数”为准,先搞清楚:你说的“CPU数”是哪个数很多人问“服务器有几个CPU”时,其实心里想的是“这机器性能够……

    2026年8月29日
    700
  • linux系统提示ifconfig找不到怎么办?linux安装ifconfig命令

    在CentOS 8、RHEL 8及更新版本的Linux系统中,ifconfig命令默认不再预装,需通过安装net-tools包来获取,具体操作为执行sudo yum install net-tools或sudo dnf install net-tools,曾经,ifconfig是Linux网络管理的“标配”,几……

    2026年7月4日
    12600
  • linux ccproxy怎么设置,为什么连接不上?

    CCProxy是Windows平台的专业代理服务器软件,Linux系统无法直接安装运行,但通过Wine模拟层或使用Squid等原生Linux代理方案,完全可以实现相同甚至更优的代理功能,很多用户搜索“linux ccproxy”时,其实是想在Linux环境下搭建代理服务器,或者寻找CCProxy的替代品,本文从……

    2026年7月20日
    1900
  • 机架服务器价格多少,租用贵不贵?

    一台机架服务器的实际成交价,大致在3000元到160000元之间波动,入门级单路1U机型可能只要两三千元,主流双路2U机型多在8000元到35000元,高存储或高GPU机型很容易超过60000元,真正要比较的不是“一台多少钱”,而是“相同配置和线路下,哪家服务商把机房租用、带宽、IP和运维打包后的总成本更低……

    2026年9月11日
    300
  • Linux RAT远程管理工具怎么安装,怎么用?

    Linux RAT是黑客远程控制服务器的主要手段,企业必须通过流量监控、文件审计和基线加固来构建防御体系,Linux RAT(Remote Access Trojan)并非单个病毒,而是一类以远程控制为目的的恶意程序集合,它们常伪装成正常服务,利用反向连接绕过防火墙,在系统内植入持久化后门,与Windows R……

    2026年7月18日
    1600
  • 一台8G服务器支持多少并发,云服务器并发量怎么算?

    一台8G服务器在合理配置下,可支撑500-1000个并发连接,但具体数值取决于应用类型、架构优化和业务逻辑, 这个数字不是凭空拍出来的,而是基于业内普遍压测数据和资源消耗模型,实际项目中,有人用8G跑WordPress配合缓存轻松扛住日均十万PV,也有人因为数据库查询没优化,几百个请求就把服务器拖垮,下文从影响……

    2026年8月20日
    700
  • 河南济源联通dns的服务器地址是多少

    河南济源联通宽带用户最常用的DNS服务器地址是202.102.224.68和202.102.227.68,这两个地址也是河南联通省级骨干DNS,济源市区的联通家庭宽带、企业专线多数默认下发该组地址,济源联通DNS地址怎么查最靠谱光猫和路由器后台直接看,比任何第三方工具都准确,因为运营商下发给用户的实际DNS,可……

    2026年9月12日
    100
  • x86服务器多少钱一台?,哪个品牌性价比高?

    一台x86服务器的采购价格,从几千元到数十万元不等,具体取决于CPU核心数、内存容量、存储类型以及是否包含品牌溢价与服务支持,对于大多数中小企业,一台塔式或机架式入门级服务器预算在1万到5万元之间,而针对虚拟化、数据库或AI推理的高配机型则可能达到20万元以上,影响x86服务器价格的核心因素服务器的定价逻辑并不……

    2026年7月29日
    800
  • 我的世界ice新服务器号是什么,我的世界ice服务器地址在哪

    截至2026年初,我的世界ice(籽岷好友、知名红石与生存实况主)的公开服务器版本号已迭代至“IceCraft 8.0”,但该号码并非固定不变,ice通常会在其B站动态、粉丝QQ群公告以及直播标题中实时更新当前有效的服务器地址与版本号,如果你此刻看到的是旧信息,不要着急——下文会手把手教你怎么用最快速度锁定最新……

    2026年9月9日
    100

发表回复

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