Linux編程 6 (查看進程 ps 及輸出風格)

來源:互聯網
上載者:User
一.查看進程命令ps

  1.1 預設ps 命令
    

    在預設情況下,ps命令只會顯示運行在當前控制台下,屬於目前使用者的進程,在中,我們只運行了bash shell以及ps命令本身。 中顯示了程式的進程ID(1538,1583),它們運行在TTY終端, 以及進程已有的CPU(TIME)時間。

  1.2 ps 風格以及參數
    在linux系統中使用的GNU ps命令支援3種不同類型的命令列參數。包括Unix風格的參數,BSD風格的參數,GNU風格的長參數。

二.  Unix風格參數

  在ps中每種風格的參數都很多,下面例舉一些常用的Unix風格的ps命令參數。下面表格還有很多參數沒有列出來。

參數

描述

-A

顯示所有進程

-N

顯示與指定參數不符的所有進程

-a

顯示除控制進程和無終端進程外的所有進程

-d

顯示除控制進程外的所有進程

-e

顯示所有進程

-C  cmdlist

顯示包含在cmdlist列表中的進程

-f

顯示完整格式的輸出

-l

顯示長列表

  2.1 ps  –ef 參數組合命令   

    多數linux系統管理員都有自己的一組參數,來提取有用的進程資訊。例如可用-ef 參數組合,如所示:
    

    在上面的列表中,輸出的資訊包括:UID列是指啟動這些進程的使用者。PID列是指進程ID。 PPID列是指:父進程ID(該進程是由另一個進程啟動的)。 C列是指進程生命週期中的CUP利用率。 STIME列是指進程啟動時的系統時間。TTY列是指進程啟動時的終端裝置。TIME列是指運行進程需要的累計CPU時間。CMD列是指啟動的程式名稱。  

  2.2 ps –l  長列表

    如果想要擷取更多的資訊,可以採用-l參數,它會產生一個長格式的輸出,如所示:
    

    上面的列表中,輸出的資訊包括:F列是指核心分配給進程的系統標記。S 是指進程狀態(O是正在運行。S是休眠。R是可運行,正等待運行。Z是僵化,進程已結束但父進程已不存在,T是停止) 。 PRT列是指進程的優先順序(越大數字表越低的優先順序)。 NT列是指謙讓度值,用來參與決定優先順序。 ADDR列是指進程的記憶體位址。 SZ列是指假如進程被換出,所需的交換空間在大致大小。 WCHAN列是指進程休眠的核心功能的地址。

  2.3 ps –ef|grep xx  尋找進程

    命令grep是尋找, 中間 | 是管道命令,代表ps與grep同時執行。grep是一種強大的文本搜尋工具,它能使用正則搜尋檔案,並把匹配的行列印出來。下面是匹配與nginx字元有關的進程, 用grep過濾後進程資訊列名也屏蔽了。

    

    下面命令加了l 長列表顯示。
    

    第二列值是S,代表當前nginx進程是休眠狀態,第三列uid是屬於hsr使用者。

三. BSD  風格參數

    BSD風格參數的ps命令參數常用如下(其它很多未列出)

參數

描述

r

僅顯示運行中的進程

T

顯示與當前終端關聯的所有進程

a

顯示與任意終端關聯的所有進程

g

顯示所有的進程,包括控制進程

l

採用長模式

    使用BSD參數時,ps命令會自動改變輸出以模仿Unix格式。例如:使用參數l輸出:
    

    中列輸出與Unix風格輸出大部份是一樣的。只有小部份不同包括 VSZ是指進程在記憶體中的大小,以KB單位。 RSS是指進程在未換出時佔用的實體記憶體。 STAT:代表當前進程狀態的雙字元狀態代碼。

在STAT雙字元狀態代碼中,第一個字元與Unix的S列值一樣。後一個字元代表如下:

  <: 該進程運行在高優先順序上。

  N:該進程運行在低優先順序上。

  L:該進程有頁面鎖定在記憶體中。

  s:  該進程是控制進程。

  l:  該進程是多線程的。

  +: 該進程運行在前台。

可以看出bash命令處於休眠狀態。是一個控制進程。 Ps是運行在系統的前台。

 

四.  GNU風格長參數

    GNU長參數風格的ps命令參數常用如下(其它很多未列出)

--deselect

顯示所有進程,命令列中列出的進程

--forest

層級結構顯示出進程與父進程之間的關係

     例如使用組合參數輸出。如所示:
    
    例如與其Unix風格組合參數輸出。如所示:
    

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.