首頁 > 軟體

Linux下ps -ef和ps aux的區別及格式詳解

2020-06-16 17:37:16

Linux下顯示系統進程的命令ps,最常用的有ps -ef 和ps aux。這兩個到底有什麼區別呢?兩者沒太大差別,討論這個問題,要追溯到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的格式來顯示、其格式如下

同ps -ef 不同的有列有
USER      //使用者名稱
%CPU      //進程佔用的CPU百分比
%MEM      //佔用記憶體的百分比
VSZ      //該進程使用的虛擬內存量(KB)
RSS      //該進程佔用的固定內存量(KB)(駐留中頁的數量)
STAT      //進程的狀態
START    //該進程被觸發啟動時間
TIME      //該進程實際使用CPU執行的時間

其中STAT狀態位常見的狀態字元有
D      //無法中斷的休眠狀態(通常 IO 的進程);
R      //正在執行可中在佇列中可過行的;
S      //處於休眠狀態;
T      //停止或被追蹤;
W      //進入記憶體交換 (從核心2.6開始無效);
X      //死掉的進程 (基本很少見);
Z      //殭屍進程;
<      //優先順序高的進程
N      //優先順序較低的進程
L      //有些頁被鎖進記憶體;
s      //進程的領導者(在它之下有子進程);
l      //多執行緒,克隆執行緒(使用 CLONE_THREAD, 類似 NPTL pthreads);
+      //位於後台的行程群組;

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-07/133515.htm


IT145.com E-mail:sddin#qq.com