Linux 查看进程命令 ps aux 和 ps ef
ps aux
和 ps -ef
的区别¶
讨论这个问题,要追溯到 Unix 系统中的两种风格,System V 风格和 BSD 风格,ps aux
最初用到 Unix Style 中,而 ps -ef
被用在 System V Style 中,两者输出略显不同。现在大部分 Linux 系统都是可以同时使用这两种方式的。
-
ps -ef
是用标准的格式显示进程的,其格式如下列名 含义 UID
用户 ID,但输出的是用户名 PID
进程 ID PPID
父进程 ID C
进程占用 CPU 的百分比 STIME
进程启动到现在的时间 TTY
该进程在哪个终端上运行,若与终端无关,则显示 ?
,若为pts/0
等,则表示由网络连接主机进程CMD
命令的名称和参数 -
ps aux
是用 BSD 的格式来显示进程的,其格式如下列名 含义 USER
用户名 PID
进程 ID %CPU
进程占用 CPU 的百分比 %MEM
进程占用内存的百分比 VSZ
进程使用的虚拟内存量(KB) RSS
该进程占用的固定内存量(KB) TTY
该进程在哪个终端上运行,若与终端无关,则显示 ?
,若为pts/0
等,则表示由网络连接主机进程STAT
进程状态 START
进程被触发启动时间 TIME
该进程实际使用 CPU 运行的时间 其中
STAT
状态位常见的状态字符有D
无法中断的休眠状态(通常 IO 的进程)R
S
处于休眠状态T
停止或被追踪W
进入内存交换(从内核 2.6 开始无效)X
死掉的进程(基本很少见)Z
僵尸进程<
优先级高的进程N
优先级低的进程L
有些页被锁进内存s
进程的领导者(在它之下有子进程)l
多线程,克隆线程(使用 CLONE_THREAD,类似 NPTL phtreads)+
位于后台的进程组