ps是 Linux 系统中查看进程状态的核心命令,能捕捉进程的静态快照,提供 PID、CPU / 内存占用、运行状态等关键信息,是系统监控和故障排查的必备工具。它支持通过丰富参数灵活筛选进程,如查看所有进程、按用户 / 命令名筛选、自定义输出字段等,还可与 grep、kill 等命令结合实现过滤、终止进程等操作。本文详解其语法、常用参数、实用实例及注意事项,帮助用户高效掌握进程查看与管理技巧,提升 Linux 系统操作效率。
ps
(Process Status)用于显示系统当前进程的静态快照,提供进程 ID(PID)、CPU / 内存占用、运行状态等信息,是排查进程问题、监控系统负载的必备工具。与top
的实时动态监控不同,ps
更适合捕捉某一时刻的进程状态。
通过不同参数组合,可灵活筛选和展示进程信息。
参数 |
功能说明 |
-e /-A |
显示系统所有进程(两者等价)。 |
-f |
以全格式输出,包含 UID、PID、PPID(父进程 ID)、启动时间、命令路径等细节。 |
-u 用户名 |
仅显示指定用户的进程。 |
-p PID |
查看指定 PID 的进程信息(多 PID 用逗号分隔,如-p 123,456 )。 |
-C 命令名 |
按命令名筛选进程(如-C ssh 查看 ssh 相关进程)。 |
-o 字段 |
自定义输出字段(如pid,%cpu,%mem,cmd 仅显示 PID、CPU 占比、内存占比和命令)。 |
--sort=字段 |
按指定字段排序(如--sort=-%cpu 按 CPU 使用率降序)。 |
ps aux
:显示所有用户的进程(包括无终端的守护进程),输出格式简洁,包含 CPU / 内存占比等关键指标,适合快速 overview。
ps -ef
:全格式显示所有进程,包含进程层级关系(PPID),适合分析进程依赖。
- 仅显示关键字段:
ps -eo pid,ppid,%cpu,%mem,cmd
- 按资源占用排序:
ps aux --sort=-%cpu
ps aux --sort=%mem
以树状结构展示进程父子关系:
ps aux --sort=-%cpu | head -n 10
先通过ps
找到目标 PID,再用kill
终止:
- 权限限制:部分进程(如 root 用户进程)需
sudo
权限才能查看完整信息。
- 发行版差异:不同 Linux 发行版的
ps
参数支持可能略有不同,建议通过man ps
查阅手册。
- 静态快照特性:
ps
输出为某一时刻的状态,如需实时监控,建议搭配top
或htop
。
ps
命令通过灵活的参数组合和与其他命令的联动,成为 Linux
进程管理的核心工具。无论是简单的进程查看、资源消耗分析,还是精准的进程筛选与终止,都能通过
ps
高效实现。掌握其用法,可显著提升系统监控与故障排查的效率。