ps命令用于查看系统进程快照,常用ps aux和ps -ef显示详细信息,结合grep筛选和排序可分析资源占用,是运维基本技能。
ps命令用于显示当前系统中运行的进程信息。它不会实时更新,而是输出执行瞬间的进程快照,适合快速查看有哪些进程正在运行。
基本用法
直接输入ps会显示当前终端下属于本用户的进程:
ps
输出通常包含四列:PID(进程ID)、TTY(终端)、TIME(CPU使用时间)和CMD(命令名)。
常用选项组合
实际使用中,常结合选项查看更详细的进程信息:
- ps aux:查看系统中所有进程的详细信息
a:显示所有用户的相关进程
u:以用户友好的格式输出(包含USER、%CPU、%MEM等)
x:显示没有控制终端的进程 - ps -ef:标准格式列出全部进程
e:显示所有进程
f:显示完整格式(包括父进程PPID、启动时间等) - ps -ef | grep 进程名:筛选特定进程,比如查找nginx:
ps -ef | grep nginx
查看进程树结构
使用ps可以查看进程之间的父子关系:
ps –forest -C 进程名
例如查看所有bash进程及其子进程树:
ps –forest -C bash
按资源使用排序
结合其他命令可分析资源占用高的进程:
- 查看CPU占用最高的前5个进程:
ps aux –sort=-%cpu | head -6 - 查看内存占用最高的进程:
ps aux –sort=-%mem | head -6
基本上就这些。ps命令简单但实用,搭配管道和grep能快速定位问题进程,是日常运维的基本技能之一。