Linux---ps -ef|grep詳解

【Linux】ps -ef|grep詳解

 

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);  
+      //位於後臺的進程組;

 

ps命令將某個進程顯示出來

grep命令是查找

中間的|是管道命令 是指ps命令與grep同時執行

PS是LINUX下最常用的也是非常強大的進程查看命令

grep命令 是查找, 是一種強大的文本搜索工具,它能 使用正則表達式 搜索文本,並把匹 配的行打印出來。

grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權限是所有用戶。

以下這條命令是檢查 java 進程是否存在:ps -ef |grep java

字段含義如下: 
UID       PID       PPID      C     STIME    TTY       TIME         CMD

zzw      14124   13991      0     00:38      pts/0      00:00:00    grep --color=auto dae

 

UID      :程序被該 UID 所擁有

PID      :就是這個程序的 ID 

PPID    :則是其上級父程序的ID

C          :CPU使用的資源百分比

STIME :系統啓動時間

TTY     :登入者的終端機位置

TIME   :使用掉的CPU時間。

CMD   :所下達的是什麼指令

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章