在Linux系统中,查看进程状态信息有多种方法,以下是常用的命令和工具:
ps
命令(最基础)ps aux # 查看所有用户的所有进程(BSD风格)
ps -ef # 查看所有进程(标准UNIX风格)
ps -l # 查看当前终端关联的进程(带详细状态)
ps -p <PID> -o pid,state,cmd # 查看特定进程的状态(如Running/Sleeping等)
STAT
(进程状态代码):R
:运行中(Running)S
:可中断睡眠(Sleeping)D
:不可中断睡眠(通常与I/O相关)Z
:僵尸进程(Zombie)T
:暂停(Stopped)<
:高优先级进程N
:低优先级进程top
/ htop
(实时动态监控)top # 动态查看进程状态(按q退出)
htop # 更友好的交互式工具(需安装)
top
中按 t
或 m
切换显示模式,按 1
查看每个CPU核心的负载。htop
支持颜色高亮和鼠标操作。pstree
(树状结构显示)pstree -p # 显示进程树(包含PID)
pgrep
/ pidof
(快速查找进程PID)pgrep -l nginx # 查找nginx进程的PID和名称
pidof sshd # 直接输出sshd的PID
/proc
文件系统(底层信息)cat /proc/<PID>/status # 查看某个进程的详细状态(包括线程、内存等)
cat /proc/<PID>/stat # 原始状态数据(需解析)
bash
cat /proc/1/status | grep State # 查看PID=1的进程状态
systemctl
(系统服务进程)systemctl status <service> # 查看系统服务的状态(如nginx)
strace
(跟踪进程系统调用)strace -p <PID> # 实时跟踪进程的系统调用(调试用)
STAT
为Z
的进程,需检查其父进程是否正常退出。top
排序(top
中按P
或M
)定位问题进程。根据需求选择合适的工具:快速检查用ps
或pgrep
,实时监控用top/htop
,深入分析用/proc
或strace
。