在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 Stateps aux | grep 'Z' # 筛选僵尸进程
systemctl(系统服务进程)systemctl status [服务名] # 查看系统服务的状态(如 sshd)
R(运行)、S(睡眠)、Z(僵尸)。top 或 htop。/proc/[PID]/ 下的文件。根据需求选择合适的命令即可快速定位进程状态!