ps -ef和ps aux的区别

Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux。
ps -ef 是System V展示风格,而ps aux是BSD风格。

ps -ef 是用标准的格式显示进程的,其格式如下:
image.png

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

ps aux 是用BSD的格式来显示,其格式如下:
image.png

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

其中STAT状态位常见的状态字符有
D:无法中断的休眠状态(通常 IO 的进程);
R:正在运行可中在队列中可过行的;
S:处于休眠状态;
T:停止或被追踪;
W:进入内存交换 (从内核2.6开始无效);
X:死掉的进程 (基本很少见);
Z:僵尸进程;
<:优先级高的进程
N:优先级较低的进程
L:有些页被锁进内存;
s:进程的领导者(在它之下有子进程);
l:多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads);
+:位于后台的进程组;

总结:

如果想查看进程的CPU占用率和内存占用率,可以使用ps aux
如果想查看进程的父进程ID和完整的COMMAND命令,可以使用ps -ef

你可能感兴趣的:(ps -ef和ps aux的区别)