ps aux 是最常用命令,显示所有用户进程的用户、PID、CPU/内存占用、状态、启动时间及完整命令;可配合 grep 筛选、-p 查指定 PID、-u 查某用户进程、--sort 排序、-L 查线程。

Linux 中使用 ps 命令查询进程详细信息,关键在于选对参数组合,让输出包含你需要的字段(如用户、CPU/内存占用、状态、启动时间、完整命令等),并确保覆盖目标进程范围。
常用组合:ps aux
这是最实用、最常被推荐的命令,用于查看所有用户的所有进程及其资源与状态详情:
ps aux
输出字段含义:
-
USER:进程所属用户 -
PID:进程 ID -
%CPU:CPU 占用百分比 -
%MEM:物理内存占用百分比 -
VSZ:虚拟内存大小(KB) -
RSS:实际物理内存占用(KB) -
TTY:控制终端(?表示无终端,常见于守护进程) -
STAT:进程状态(如S=休眠、R=运行、Z=僵尸、=高优先级、<code>N=低优先级) -
START:启动时间 -
TIME:累计 CPU 时间 -
COMMAND:启动该进程的完整命令(含参数)
✅ 优势:无需 root 权限即可看到大部分进程;字段丰富,适合排查资源占用、识别异常进程。
查看特定进程(带筛选)
配合 grep 快速定位:
ps aux | grep nginx ps aux | grep -v grep | grep java
⚠️ 注意:grep xxx 自身也会产生一个进程,加 | grep -v grep 可排除干扰项。
查看某个 PID 的详细信息
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
ps -p 1234 -f
-
-p 1234:只查 PID 为 1234 的进程 -
-f:全格式,显示 UID、PPID(父进程 ID)、STIME(启动时间)、CMD 等
查看某用户的全部进程
ps -u username
例如:ps -u www-data 查看 Web 服务用户运行的进程。
按资源排序(快速找“大户”)
- CPU 占用从高到低:
ps aux --sort=-%cpu | head -10
- 内存占用从高到低:
ps aux --sort=-%mem | head -10
?
--sort=-%cpu中的-表示降序;+或省略为升序。
查看线程(多线程程序内部细节)
添加 -L 参数可显示每个线程(LWP,轻量级进程):
ps -eLf | grep myapp
-
-e:所有进程 -
-L:显示线程(每条线程单独一行) -
-f:全格式(含 TID 线程 ID、NLWP 线程数等)
输出中 LWP 列即线程 ID,NLWP 列表示该进程当前有多少线程。
小贴士
-
ps是快照命令,不实时刷新 → 需要动态监控请用top或htop - 字段列宽不足时,可用
w选项扩展宽度:ps auxww - 想看树状结构(父子关系):
ps -ef --forest或ps axjf
不复杂但容易忽略。

















