ps aux、ps -aux、ps -ef的区别
先说说aux,-aux,-ef都什么意思
aux:
ps a 显示现行终端机下的所有程序,包括其他用户的程序
ps u 以用户为主的格式来显示程序状况
ps x 显示所有程序,不以终端机来区分。
所以,ps aux就是打印所有进程。
-aux
ps -aux 不同于"ps aux"。POSIX和UNIX的标准要求"ps -aux"打印用户名为"x"的用户的所有进程,以及打印所有将由-a选项选择的过程。如果用户名为"x"不存在,ps的将会解释为"ps aux",而且会打印一个警告。这种行为是为了帮助转换旧脚本和习惯。它是脆弱的,即将更改,因此不应依赖。
如果你运行ps -aux >/dev/null,那么你就会得到下面这行警告信息
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
-ef
ps -e 此参数的效果和指定"A"参数相同
ps -A 显示所有程序
ps -f 下面是man 的结果
does full-format listing. This option can be combined with many other UNIX-style options to add additional columns. It also causes the command arguments to be printed. When used with -L, the NLWP (number of threads) and LWP (thread ID) columns will be added. See the c option, the format keyword args, and the format keyword comm.
所以,ps -ef 也是打印所有进程。
ps aux 和ps -ef的区别
显示格式不同
ps -ef显示格式:
UID:用户
PID:pid
PPID:父进程pid
C:CPU使用率
STIME:进程开始时间
TTY:终端ID
TIME:进程运行时间
CMD:command
ps aux显示格式:
USER: 进程拥有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的内存使用率
VSZ: 占用的虚拟内存大小
RSS: 占用的驻留集大小或者实际内存的大小,不包含已交换出去的大小,单位kbytes
TTY: 终端ID
STAT: 该进程的状态:
D 不可中断 Uninterruptible(usually IO)
R 正在运行,或在队列中的进程
S 处于休眠状态
T 停止或被追踪
Z 僵尸进程
W 进入内存交换(从内核2.6开始无效)
X 死掉的进程
< 高优先级
n 低优先级
s 包含子进程
+ 位于后台的进程组
l 多进程的
START: 进程开始时间
TIME: 执行的时间
COMMAND:所执行的指令