最直接有效的方式是使用 ps aux 命令,它能一次性列出系统中所有用户、所有终端的完整进程快照,包含 PID、CPU/内存占用、运行状态和启动命令等关键字段;ps -ef 适合分析进程父子关系,ps -eo 配合排序可快速定位高负载进程。

最直接有效的方式是使用 ps aux 命令,它能一次性列出系统中所有用户、所有终端(包括后台守护进程)的完整进程快照,包含 PID、CPU/内存占用、运行状态和启动命令等关键字段。
一、常用命令组合及适用场景
ps aux —— 推荐首选
显示所有进程的详细信息:USER(所有者)、PID、%CPU、%MEM、VSZ(虚拟内存)、RSS(物理内存)、TTY、STAT(状态)、START(启动时间)、TIME(CPU 时间)、COMMAND(完整命令)。
ps -ef —— 适合看进程关系
以 System V 风格输出,重点展示 UID、PID、PPID(父进程 ID)、STIME(启动时间)、CMD(命令),便于分析进程父子结构和启动链路。
ps -eo pid,ppid,%cpu,%mem,comm,args --sort=-%cpu | head -20 —— 快速定位高负载进程
自定义输出列,按 CPU 占用降序排列,只取前 20 行,适合排查性能瓶颈。
二、实时动态监控进程
top —— 内置终端,无需安装
运行后自动刷新,默认按 CPU 使用率排序。按 M 按内存排序,P 按 CPU 排序,k 输入 PID 可直接终止进程,q 退出。
htop —— 更友好、更高效(需安装)
支持鼠标操作、颜色区分、垂直/水平滚动、F5 切换树状视图、F9 杀进程。Ubuntu/Debian 执行 sudo apt install htop,CentOS/RHEL 执行 sudo yum install htop 或 sudo dnf install htop。
三、快速筛选特定进程
结合 grep 精准过滤:
– 查找 nginx 进程:ps aux | grep nginx
– 查找某个用户的全部进程:ps -u username
– 按命令名精确匹配(避免 grep 自身混入结果):pgrep -l nginx 或 ps -C nginx
四、查看进程结构与细节
pstree -p —— 直观展示父子关系
以树形结构显示进程及其 PID,一眼看出哪个服务启动了哪些子进程。
ls /proc/[PID] —— 查看底层运行时信息
每个进程在 /proc 下有对应目录,例如 /proc/1234 包含:
– exe:指向可执行文件的符号链接
– cwd:当前工作目录
– environ:环境变量(需用 cat /proc/1234/environ | tr '\0' '\n' 查看)


















