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 的进程)RS处于休眠状态T停止或被追踪W进入内存交换(从内核 2.6 开始无效)X死掉的进程(基本很少见)Z僵尸进程<优先级高的进程N优先级低的进程L有些页被锁进内存s进程的领导者(在它之下有子进程)l多线程,克隆线程(使用 CLONE_THREAD,类似 NPTL phtreads)+位于后台的进程组