ps -ef與ps aux區別


  Linux下顯示系統進程的命令ps,最常用的有ps -ef 和ps aux。這兩個到底有什么區別呢?兩者沒太大差別,討論這個問題,要追溯到Unix系統中的兩種風格,System V風格和BSD 風格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,兩者輸出略有不同。現在的大部分Linux系統都是可以同時使用這兩種方式的。

 

 其中各列的內容意思如下
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);

+      //位於后台的進程組;

ps [選項]
下面對命令選項進行說明:
-e   顯示所有進程。
-f    全格式。
-h   不顯示標題。
-l    長格式。
-w  寬輸出。
a    顯示終端上的所有進程,包括其他用戶的進程。
r    只顯示正在運行的進程。

u  以用戶為主的格式來顯示程序狀況。

x     顯示所有程序,不以終端機來區分。


ps -ef 顯示出的結果:
    1.UID       用戶ID
    2.PID        進程ID
    3.PPID      父進程ID
    4.C           CPU占用率
    5.STIME     開始時間
    6.TTY         開始此進程的TTY----終端設備
    7.TIME       此進程運行的總時間
    8.CMD       命令名


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM