Linux 備忘録

ps コマンド

ps コマンドはプロセスの稼動状態を調べるのに使います。

このバージョンの ps が受付けるオプションにはいくつかの種類がある。
             

Unix98 オプションはまとめることが可能で、前にはダッシュを置かなければならない。
BSD オプションはまとめることが可能で、前にダッシュを置いてはならない。
GNU の長いオプションは、前に二つのダッシュを置く。

       別々の種類のオプションは自由に混在させてよい。

単純なプロセス選択
       スイッチ     説明
       ()                                                                          ()

       -A           全てのプロセスを選択する
       -N           選択の否定
       -a           tty を持つうち、セッションリーダを除く全てを選択する
       -d           全てを選択するが、セッションリーダを除く
       -e           全てのプロセスを選択する
       T            このターミナルの全てのプロセスを選択する
       a            他のユーザのものも含め、このターミナルの全てのプロセ
                    スを選択する
       g            グループリーダーも含め、本当に全てを選択する  (SunOS
                    設定がなければ何もしない)
       r            実行中のプロセスのみ出力する
       x            制御端末のないプロセスを選択する
       –deselect   選択を無効にする
   リストによるプロセス選択
       スイッチ   説明
       ()                                                                          ()

      -C         コマンド名で選択する
      -G         RGID で選択する (名前も可)
      -U         RUID で選択する (名前も可)
      -g         セッションリーダーとグループ名の論理和で選択する
      -p         PID で選択する
   -s         与えたセッションに属するプロセスを選択する
      -t         tty で選択する
      -u         実効ユーザー ID で選択する (名前も可)
      U          指定したユーザーのプロセスを選択する
       p          プロセス ID で選択する
       t          tty で選択する
       –Group    実グループ名または ID で選択する
       –User     実ユーザー名または ID で選択する
       –group    実効グループ名または ID で選択する
       –pid      プロセス ID で選択する
       –sid      セッション ID で選択する
       –tty      端末で選択する
       –user     実効ユーザー名または ID で選択する
       -123       –sid を暗黙のうちに仮定する
       123        pid を暗黙のうちに仮定する
   出力フォーマットの制御
       スイッチ   説明
       ()                                                                          ()

      -O         プリロードされた “-o”
      -c         -l  オプションの出力で、デフォルトと異なるスケジュー
                  リング情報を表示させる
      -j         jobs フォーマット
      -l         長いフォーマット
      -o         ユーザー定義フォーマット
      -y         フラグを表示しない。addr の代わりに rss を表示する。
      O          プリロードされた “o” (overloaded)
      X          古い Linux i386 レジスタフォーマット
       j          ジョブ制御フォーマット
       l          長いフォーマット
       o          ユーザー定義フォーマット
       s          シグナルフォーマット
       u          ユーザー指向のフォーマット
       v          仮想メモリフォーマット
       –format   ユーザー定義フォーマット例
       システムの全てのプロセスを見る (標準的な書式):
              ps -e
       システムの全てのプロセスを見る (BSD での書式):
              ps ax あるいは ps aux (見栄えが良いので推奨)
       (実 ID / 実効 ID が) ルートとして実行されているプロセスを除く、全てのプロセスを見る:
              ps -U root -u root -N
:

ここでは,「ps aux」で表示される各項目の意味を解説していこう。

USER   PID %CPU %MEM SIZE  RSS TTY STAT START  TIME COMMAND
xxxx   4542 0.0 1.3  1296  672 p0  S   10:19  0:00 -bash
nobody  453  0.0 1.4  1664  630 ?  S   11:37  0:00 httpd

 上記リストを表示例として挙げてみた。それぞれの数値は,次の表の通りである。

項目 解     説
USER プロセスの所有ユーザー
PID プロセス番号
&CPU CPUの占有率
&MEM 実メモリでの占有率
SIZE 仮想分も含めた使用サイズ(Kバイト)
RSS 実メモリ上の使用サイズ(Kバイト)
TTY 端末名
STAT プロセスの状態
R 稼動中
S 一時停止中
D 停止不可能で一時停止
T 終了処理中
Z ゾンビプロセス(すでに実体は無い)
W 実メモリ上に無くて,スワップアウトしている
N nice値
START プロセスの開始時刻
TIME プロセスの総実行時間
COMMAND 実行コマンド名とパス(シェル表記の場合もあり)

プロセスを終了させるコマンド KILL

説明

killコマンドはプロセスを終了させます。

構文

kill [ シグナル または 番号 ] プロセスID

シグナル

HUP 終了後再起動
INT 割り込み、一時停止
KILL 強制終了
TERM 終了(デフォルト)

番号

1 終了後再起動
2 割り込み、一時停止
9 強制終了
15 終了(デフォルト)

1298番のプロセスを強制終了する。

$kill -KILL 1298

Leave a Comment

XHTML: Line-breaks are automatic. Available tags are <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong> <img localsrc="" alt="">