ps aux 和 ps -ef

Linux 查看进程的两个常用命令

ps aux | grep "关键字"
ps -ef | grep "关键字"

PS(Process Status)进程状态

-ef: 是System V风格
aux: 是BSD风格

一个影响使用的区别是 aux 会截断 command 列,而 -ef 不会。
结合 grep 时这种区别会影响到结果。

相关问题:

-aux: 查看用户x的进程

  • 直接使用 ps -aux 可能会报错误
ps: No user named 'x'
  • 正确用法:
ps -auroot

查看root 用户的进程

字段含义 aux

字段名 注释
USER 用户名称
PID 进程号
%CPU 进程占用 CPU 的百分比
%MEM 进程占用物理内存的百分比
VSZ 进程占用的虚拟内存大小(单位:KB)
RSS 进程占用的物理内存大小(单位:KB)
TT 终端名称(缩写),若为?,则代表此进程与终端无关,因为它们是由系统启动的
STAT 进程状态,其中 S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
STARTED 进程的启动时间
TIME CPU 时间,即进程使用 CPU 的总时间
COMMAND 启动进程所用的命令和参数,如果过长会被截断显示

字段含义 -ef

字段名 注释
UID 用户 ID
PID 进程 ID
PPID 父进程 ID
C CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算,执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高
STIME 进程启动的时间
TTY 完整的终端名称
TIME CPU 时间
CMD 完整的启动进程所用的命令和参数

-ef 的 e 和 f 是什么意思

  • -e-A的意思是一样的:
    即显示有关其他用户进程的信息,包括那些没有控制终端的进程。
    注意,是大写A
  • -f
    显示用户id,进程id,父进程id,最近CPU使用情况,进程开始时间等等。