插件窝 干货文章 linux查看进程运行状态

linux查看进程运行状态

进程 状态 查看 命令 597    来源:    2025-04-05

在Linux系统中,查看进程运行状态的常用命令如下:


1. ps 命令

最基础的进程查看工具,常用组合:

ps aux       # 查看所有用户的所有进程(BSD风格)
ps -ef       # 查看所有进程(标准UNIX风格)
ps -l        # 查看当前终端关联进程的详细信息(含状态)

输出关键列说明: - STAT(状态码): - R:运行中(Running) - S:可中断睡眠(Sleeping) - D:不可中断睡眠(通常与I/O相关) - T:停止(Stopped) - Z:僵尸进程(Zombie) - <:高优先级进程 - N:低优先级进程


2. top / htop 命令

实时动态查看进程状态和资源占用:

top          # 交互式实时监控(按q退出)
htop         # 增强版top(需安装,支持颜色和鼠标操作)

交互操作: - 按 1:显示所有CPU核心负载 - 按 M:按内存排序 - 按 P:按CPU使用率排序


3. pstree 命令

以树形结构显示进程关系:

pstree -p    # 显示进程PID

4. pgrep 命令

快速查找进程PID:

pgrep -l nginx  # 查找nginx进程及其PID

5. systemctl(系统服务进程)

查看系统服务的状态:

systemctl status nginx  # 查看nginx服务状态

6. /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进程的运行状态及资源使用情况。