在Linux系统中,查看进程状态主要通过以下几种命令和方式,以下是详细说明:
ps
命令(最常用)ps aux | grep [进程名/关键字] # 查看特定进程
ps -ef # 查看所有进程的完整信息
ps -p [PID] -o stat # 查看指定进程的状态(如 S/R/Z等)
R
(Running):运行中或可运行(在运行队列)S
(Sleeping):可中断的睡眠(等待事件)D
(Uninterruptible Sleep):不可中断的睡眠(通常与IO相关)Z
(Zombie):僵尸进程(已终止但未被父进程回收)T
(Stopped):被信号暂停(如 Ctrl+Z
)<
:高优先级进程N
:低优先级进程top
/ htop
命令(实时动态查看)top # 实时显示进程状态(按 q 退出)
htop # 增强版 top(需安装,支持颜色和交互)
%CPU
、%MEM
:CPU和内存占用STAT
:进程状态(同 ps
的状态码)S
/R
/D
等状态会动态刷新。pstree
命令(查看进程树)pstree -p # 显示进程及其子进程的树状结构
<defunct>
。/proc
文件系统(直接读取内核信息)cat /proc/[PID]/status # 查看某个进程的详细状态
cat /proc/[PID]/stat # 包含进程状态码(第3字段)
bash
cat /proc/1234/status | grep State
ps aux | grep 'Z' # 筛选僵尸进程
systemctl
(系统服务进程)systemctl status [服务名] # 查看系统服务的状态(如 sshd)
R
(运行)、S
(睡眠)、Z
(僵尸)。top
或 htop
。/proc/[PID]/
下的文件。根据需求选择合适的命令即可快速定位进程状态!