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