UNIX コマンド ps

UNIX において コマンド ps とは以下を示します。

オプション

  1. l
     詳細を表示する
    
  2. u
     ユーザー名と開始時刻を表示する
    
  3. j
     pgidとsidを表示する
    
  4. s
     シグナル形式で表示する
    
  5. v
     vm 形式で表示する
    
  6. f
     ツリー形式で表示する
    
  7. a
     自分以外のユーザーのプロセスも表示する
    
  8. x
     制御端末のないプロセスの情報も表示する
    
  9. S
     子プロセスのCPU消費時間とページ・フォルトを合計する
    
  10. c
     task_structに格納されているコマンド名を表示する
    
  11. e
     「実行命令 + 」に環境変数を付加する
    
  12. w
     1行追加して表示を拡大する。wを増やすことによって行数をさらに増やせる
    
  13. h
     ヘッダーを表示しない
    
  14. r
     実行中のプロセスだけ表示する
    
  15. n
     USERとWCHANを数字で表示する
    
  16. txx tty
     xxのプロセスのみ表示する
    
  17. pids
     表示するプロセスIDを指定する
    

要素

  1. PID
     プロセスID
    
  2. PPID
     親プロセスID
    
  3. TTY
     制御端末の種類及び番号
    
  4. STAT
     プロセスのステータス。Rは実行可能,Sは停止,Dは割り込み不可の停止,
     Tは停止またはトレース中,Zはゾンビ・プロセス,Wはスワップ・アウト
     したプロセス,Nはナイス値が正であることを表す
    
  5. TIME
     プロセスが開始された時間
    
  6. COMMAND
     プロセスのコマンド名
    
  7. UID
     ユーザーID
    
  8. PRI
     優先度
    
  9. NI
     ナイス値
    
  10. SIZE
     仮想イメージの大きさ
    
  11. RSS
     使用中の物理メモリー量
    
  12. WCHAN
     プロセスが休眠状態の時のカーネル関数名
    
  13. PAGEIN
     主要なページ・フォルト数
    
  14. TRS
     テキストの常駐しているサイズ
    
  15. SWAP
     スワップ・デバイスの量
    
  16. SHARE
     使用中の共有メモリーの量
    

使用例

  1. $ ps alx
       F   UID   PID  PPID PRI  NI   VSZ  RSS WCHAN  STAT TTY        TIME COMMAND
     100     0     1     0   0   0  1096  468 do_sel S    ?          0:04 init [3]
     140     0   563     1   0   0  2384 1224 do_sel S    ?          0:00 httpd
     100   500   683   681   9   0  1744  992 wait4  S    pts/0      0:00 -bash
     000   500   780   683  13   0  2484  832 -      R    pts/0      0:00 ps axl
    
  2. # ps -efww | grep DBMirror | grep -v "grep"
  3. # ps -efww | grep DBMirror | grep -v "grep" | wc

Solaris

  Solarisでは、2つのpsコマンドがあります。
  1. /usr/ucb/ps
     BSD系のpsコマンド
    
  2. /usr/bin/ps
     SVR4系のコマンド
    

ここでは、後者のSVR4のpsコマンドについて見てみることにします。

  1. ps -e
     すべてのプロセス
    
  2. ps -d
     セッションリーダーを除くすべてのプロセス
    
  3. ps -a
     プロセスグループに属していないのを除くすべてのプロセス
    
  4. ps -j
     セッション/プロセスグループID付き
    
  5. ps -c
     スケジューラ情報表示
    
  6. ps -f
     詳細な出力(少し長い)
    
  7. ps -l
     詳細な出力(一番長い)
    

Linux

  Linuxでは、BSD系のUnixのものに似ているが、SystemV系
  Unix(Unix 98標準)のオプションも受け付ける。
  BSD系のものは、オプションの前に(-)を付けない。
  1. 引数を付けないで実行
     プロセス識別子、端末名、 CPU時間、コマンド名を表示する。
     ただし、そのままでは、psコマンドを実行した端末と結びつけら
     れているプロセスしか表示しない。
    
    1. % ps
         PID TTY          TIME CMD
       23788 pts/0    00:00:00 tcsh
       23819 pts/0    00:00:00 emacs
       23822 pts/0    00:00:00 cat
       23958 pts/0    00:00:00 ps
      
  2. -x オプション
     他の端末に結び付いているプロセスも表示する。
    
    1. % ps x
         PID TTY      STAT   TIME COMMAND
       23788 pts/0    S      0:00 -tcsh
       23819 pts/0    T      0:00 emacs -nw
       23822 pts/0    T      0:00 cat
       23967 pts/1    S      0:00 -tcsh
       24000 pts/1    S      0:03 /usr/local/netscape/mozilla-bin
       24002 pts/1    S      0:00 /usr/local/netscape/mozilla-bin
       24003 pts/1    S      0:00 /usr/local/netscape/mozilla-bin
       24004 pts/1    S      0:00 /usr/local/netscape/mozilla-bin
       24013 pts/0    R      0:00 ps x
      
  3. -l オプション
     プロセスが使っているメモリの大きさ (SZ、VSZ、RSS)、
     親プロセスの PID (PPIID(Parent PID))優先順位(PRI(priority))
     などの プロセスの資源と属性を表示する。
    
     Linuxのpsは、ps -l と ps l で動きが若干異なる。
     -l は、System V 風、 l は、BSD 風である。
    
    1. % ps -l
         F S   UID   PID  PPID  C PRI  NI ADDR    SZ WCHAN  TTY          TIME CMD
       100 S  1013 23788 23786  0  71   0    -  1025 rt_sig pts/0    00:00:00 tcsh
       000 T  1013 23819 23788  0  69   0    -  2210 do_sig pts/0    00:00:00 emacs
       000 T  1013 23822 23788  0  69   0    -   585 do_sig pts/0    00:00:00 cat
       000 R  1013 24029 23788  0  74   0    -   817 -      pts/0    00:00:00 ps
      
    2. % ps l
         F   UID   PID  PPID PRI  NI   VSZ  RSS WCHAN  STAT TTY        TIME COMMAND
       100  1013 23788 23786  13   0  4100 2152 rt_sig S    pts/0      0:00 -tcsh
       000  1013 23819 23788   9   0  8840 4540 do_sig T    pts/0      0:00 emacs -nw
       000  1013 23822 23788   9   0  2340  552 do_sig T    pts/0      0:00 cat
       000  1013 24030 23788  12   0  3268 1304 -      R    pts/0      0:00 ps l
      
  4. -u オプション
     ps l, ps -l と同様に詳しい表示をする。
    
    1. % ps u
       USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
       yas      23788  0.0  0.8  4100 2152 pts/0    S    21:21   0:00 -tcsh
       yas      23819  0.0  1.7  8840 4540 pts/0    T    21:21   0:00 emacs -nw
       yas      23822  0.0  0.2  2340  552 pts/0    T    21:21   0:00 cat
       yas      24047  0.0  0.3  2840  904 pts/0    R    22:04   0:00 ps u
      
  5. -e オプション
     全てのプロセスを表示する。System V 風。
    
  6. -a オプション
     端末と結び付いている全てのプロセスを表示する。
     x も付けた方がよい。-x オプションは、全てのプロ
     セスを表示する。BSD風。
    

a,u,x の組合わせ。全てのプロセスを表示する時に、よく使われる。

ご訪問頂き有難う御座います。 当サイトを効率良く使うためにまずは FrontPage を見て下さい。 検索方法、一覧表示などの各情報を纏めています。
当サイトの説明 → Frontpage