在Linux系统中,查看进程运行状态的常用命令如下:
ps
命令最基础的进程查看工具,常用组合:
ps aux # 查看所有用户的所有进程(BSD风格)
ps -ef # 查看所有进程(标准UNIX风格)
ps -l # 查看当前终端关联进程的详细信息(含状态)
输出关键列说明:
- STAT
(状态码):
- R
:运行中(Running)
- S
:可中断睡眠(Sleeping)
- D
:不可中断睡眠(通常与I/O相关)
- T
:停止(Stopped)
- Z
:僵尸进程(Zombie)
- <
:高优先级进程
- N
:低优先级进程
top
/ htop
命令实时动态查看进程状态和资源占用:
top # 交互式实时监控(按q退出)
htop # 增强版top(需安装,支持颜色和鼠标操作)
交互操作:
- 按 1
:显示所有CPU核心负载
- 按 M
:按内存排序
- 按 P
:按CPU使用率排序
pstree
命令以树形结构显示进程关系:
pstree -p # 显示进程PID
pgrep
命令快速查找进程PID:
pgrep -l nginx # 查找nginx进程及其PID
systemctl
(系统服务进程)查看系统服务的状态:
systemctl status nginx # 查看nginx服务状态
/proc
文件系统直接读取进程信息(以PID为例):
cat /proc/1234/status # 查看PID为1234的进程详细状态
状态码 | 含义 |
---|---|
R | 运行中或可运行(在运行队列) |
S | 可中断睡眠(等待事件完成) |
D | 不可中断睡眠(通常为I/O操作) |
Z | 僵尸进程(已终止但未回收) |
T | 暂停状态(如被SIGSTOP 停止) |
ps aux | grep 'D' # 查找不可中断睡眠的进程
ps -eo pid,stat,cmd | grep -w 'Z' # 查找僵尸进程
通过以上命令,您可以全面掌握Linux进程的运行状态及资源使用情况。