在Linux系统中,查看进程状态有多种命令和方式,以下是常用的方法及说明:
ps
命令(最常用)ps aux | grep [进程名/关键字] # 查看所有进程并过滤
ps -ef | grep [进程名/关键字] # 完整格式列表
ps -p [PID] -o pid,cmd,stat # 查看指定PID的状态(stat列即状态)
STAT
列表示进程状态,常见状态:R
(Running):运行中/可运行S
(Sleeping):休眠(可中断)D
(Uninterruptible Sleep):不可中断休眠(通常为IO操作)T
(Stopped):已停止(如通过Ctrl+Z
)Z
(Zombie):僵尸进程(需手动清理)<
(高优先级)、N
(低优先级)、s
(会话领导者)等。top
/ htop
命令(动态监控)top # 实时显示进程状态(按q退出)
htop # 增强版top(需安装,支持交互式操作)
S
列显示进程状态(同ps
的STAT
)。pstree
(查看进程树)pstree -p [PID] # 显示指定进程的父子关系
/proc
文件系统(直接读取内核信息)cat /proc/[PID]/status # 查看详细进程状态(包括State、线程数等)
cat /proc/[PID]/stat # 原始状态数据(第3字段为状态码)
pgrep
:快速查找进程PID
bash
pgrep -l [进程名]
kill -l
:查看所有信号(用于管理进程状态)
bash
kill -l # 列出信号(如SIGTERM=15, SIGKILL=9)
Z
状态进程,需终止其父进程:
bash
kill -9 [父进程PID]
kill -9 [PID]
强制终止。ps aux | grep [进程]
top
或 htop
cat /proc/[PID]/status
根据需要选择合适的方式即可。