ps命令提供系统进程快照,是 Linux 进程管理和故障排查的核心工具。
两种参数风格
| 特性 | UNIX 风格 | BSD 风格 |
|---|---|---|
| 前缀 | 带短横线(如 -ef) | 不带短横线(如 aux) |
| 常用命令 | ps -ef, ps -eF | ps aux, ps ax |
| 输出侧重 | PID、PPID 等进程关系 | %CPU、%MEM、STAT 等资源信息 |
进程状态 STAT
ps aux 输出中的 STAT 列标明进程状态:
基本状态码:
| 状态 | 含义 |
|---|---|
| R | 正在运行或在运行队列等待 |
| S | 可中断睡眠,等待事件完成 |
| D | 不可中断睡眠,通常在硬件 I/O |
| T | 已停止,收到 SIGSTOP 信号 |
| Z | 僵尸进程,已终止但资源未回收 |
附加符号:
| 符号 | 含义 |
|---|---|
| < | 高优先级 |
| N | 低优先级 |
| s | 会话领导者 |
| l | 多线程进程 |
| + | 位于前台进程组 |
常用场景
查找特定进程:
| |
查看进程树:
| |
按资源占用排序:
| |
显示指定用户的进程:
| |
查看进程线程:
| |
高级技巧
自定义输出字段:
| |
动态监控(结合 watch):
| |
处理僵尸进程:找到并重启其父进程(PPID),直接 kill 僵尸进程无效。
与 top 的区别
ps:静态快照,适合精确筛选和脚本集成top:动态实时更新,适合交互式监控
张芷铭的个人博客
Comments