網頁

2013年2月22日 星期五

ps,pstree,ipcs,pgrep,pidof,pman,w,vmstat指令


  • ps指令用來顯示系統的進程
    • ps -aux
    • ps -aux | head
    • ps -aux | sort +3 
      • 加上sort可以估排序的動作,因為sort是由0開始計數,所以+3表示由第4列做排序。
    • ps -aux | sort user
    • ps uU canred
      • 直接指定使用者帳號名稱或uid皆可
    • ps -aux | grep apache2
      • 顯示apache2的字眼的所有進程
    • ps指令的欄位說明
      • USER:運行此進程的用戶名稱
      • %CPU:進程的CPU佔用率
      • %MEN:實際內存占用率
      • VSZ:進程占用虛擬內存大小,單位是KB
      • RSS:占用物理內存大小,單位是KB
      • STAT:目前進程所處的狀態屬性
        • 一般由1~3個字符號組成
          • D:不可中斷的等待狀態,通常是等待I/O設備的數據等
          • R:正處於運行列隊中的進程
          • S:正處於中斷休眠狀態的進程,該進程可能是在等待某個中斷消息
          • T:已停止工作的進程,因其被跟所以存在
          • X:已經死亡的進程,通常不會看到這類的進程
          • Z:已經僵死的進程
          • <:高優先級進程
          • N:低優先級進程
          • s:會話的管理者
          • +:進程會使用前台的終端
          • l:這是一個多線的進程
      • TIME:進程占用CPU的時間
      • COMMAND:啟動進程使用的命令
    • 選項補充:
      • 在 不附加任何選項的情況下,ps只列出屬於使用者個人、有連結終端機的行程
      • 合併a,-u,-x三個選項,ps將以「使用者格式」顯示任何符合下列2個條件之一的任何行程:屬於其他使用者,或沒連結終端機。此時,選項是否要前置破折號將不影響執行結果
        •  ps -aux == pa aux
      • 並不是所有ps的選項都可以省略的如-C選項就不可以省略
        • ps u -C apache2
  • vmstat指令
    • 顯示虛擬記憶體的統計,中還包括實體記憶體以及cpu的使用狀況。

-----------------------------------------------------------------------------------------------------

pstree指令用來以樹狀的方式,來顯示系統的進程

step 1 . pstree
         

canred@canred:/etc$ pstree
init─┬─NetworkManager─┬─dhclient
       │                ├─dnsmasq
       │                └─2*[{NetworkManager}]
       ├─accounts-daemon───{accounts-daemon}
       ├─acpid
       ├─apache2───9*[apache2]
       ├─apache2─┬─apache2
...
上列的 2* 表示當前進程有2個線程
-----------------------------------------------------------------------------------------------------
w指令,用來顯示系統目前登入者的表列,但顯示正在執行什麼樣的程序
-----------------------------------------------------------------------------------------------------
ipcs 指令,用來顯示linux系統當中進程間通訊的狀態(消息隊列、共用記憶體資料段、訊
號量的訊息)

-----------------------------------------------------------------------------------------------------
pgrep 指令用於以名稱的方式查找進程的id號

canred@canred:/etc$ pgrep bash
18417
18884
-----------------------------------------------------------------------------------------------------
pidof 指令和 pgrep 的功能是相同的,以是顯示的方式不同,pgrep是行顯示的;pidof是列
顯示的
-----------------------------------------------------------------------------------------------------
pmap 指令,用來顯示進程的內存映射關系
    step 1. pmap 進程號
canred@canred:/etc$ pmap 1
1:   /sbin/init
 total        0K

    step 2.也可以用 pmap -d 1 看更詳細的資訊
                               pmap -x 1
----編輯紀錄

  • 2013/5/8:
    • 新增:ps指令的選項補充資訊。

  • 2013/4/22:
    • 新增:
      • ps指令的欄位說明
    • 補充:
      • pstree進程數量







沒有留言:

張貼留言