ps - サーバー管理でよく使うコマンド
起動中のプロセスの状態を表示します
■よく使う形(例)
※プロセスの詳細情報を表示する。
# ps aux ※端末に結びつけたすべてのプロセスの状態を詳細に表示します。
# ps -el
# ps aux ※端末に結びつけたすべてのプロセスの状態を詳細に表示します。
# ps -el
一般的にもよく使うコマンドです。
オプションが豊富で、プロセスの状態をいろいろな形で見つけることができます。
例えば、「開発中のプログラムを実行したら、なかなか帰ってこなくなった」という場合、psコマンドを使うと、CPUやメモリの使用率から、無限ループが見つかったりします。(あまりいい例えではないですが....。) こんなときプロセスIDをpsコマンドで調べて、強制終了を行います。(killコマンド)
その他、auxの組み合わせのオプションを使うと、より詳しくプロセスを見ることができます。プロセスの親子関係や、バックエンドで実行されているプロセスの識別など、容易に行うことができます。
このpsコマンド、ちょっとオプションが変わっています。その昔、UNIXはBSD系とSystemV系とで別々に開発されてきました。基本的に同じ UNIXではありますが、使い勝手が少し違っていました。Linuxはそんなことも考えてか、psコマンドでは、両方のオプションが使えたりします。ハイ フン(-)を使うのが、SystemV系ですね。
■主な出力データの見方
項目 | 意味 | コメント |
---|---|---|
UID | ユーザーID | |
PID | プロセスID | このプロセスのID。killコマンドなどでも使用する |
PPID | 親のプロセスID | 呼び出された親のプロセスID |
NI | ナイス値 | |
WCHAN | カーネル関数名 | プロセスが休眠している時のカーネル関数名 |
TTY | 端末の種類 | 端末の種類と端末番号を表示 |
USER | 実行ユーザー名 | |
RSS | プロセスの実メモリサイズ | |
STAT | ステータ | プロセスのステータス R:実行可能 S:停止プロセス Z:ゾンビプロセス W:スワップアウトしたプロセス |
START | 開始時刻 | プロセスの開始時刻 |
TIME | 実行時間 | |
CMD COMMAND |
実行コマンド | オプションにa,u,xを使うと、プログラムの絶対パスを見ることができる。プロセスがどのように実行されているかがよくわかる。 |
■主なオプション
オプション | 機能説明 |
---|---|
-l | 詳細を表示。 |
-e | すべてのプロセスを表示。 |
a | 端末に紐づけたプロセスをすべて表示する。 |
u | CPU使用率、メモリ使用率、開始時間などの詳細情報を表示する。 |
x | 端末に紐づかないプロセスもすべて表示。 |