【ps】Linuxで実行中のプロセスを確認するコマンド

Linuxのpsコマンドを使うと、現在実行中のプロセスの一覧を表示することができます。

psコマンドの書式

psコマンドの書式は以下の通りです。

$ ps [オプション]

オプション

a 他のユーザーのプロセスも表示
x 制御端末がないプロセスも表示
u ユーザー名と開始時刻を表示

プロセスを表示する

psコマンドを実行すると、実行中のプロセスの一覧が表示されます。

$ ps
  PID TTY          TIME CMD
31301 pts/0    00:00:00 bash
31376 pts/0    00:00:00 ps

オプションを何も付けずにpsコマンドを実行すると、自分が実行したプロセスのみ表示されます。

すべてプロセスを表示する

「a」オプションを付けると、他のユーザーが実行したプロセスも確認することができます。また、「x」と「u」というオプションを付けてpsコマンドを実行すると、詳細な情報が表示されます。

$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  19636  2412 ?        Ss   Jun01   0:01 /sbin/init
root         2  0.0  0.0      0     0 ?        S    Jun01   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Jun01   0:06 [ksoftirqd/0]
root         4  0.0  0.0      0     0 ?        S    Jun01   0:00 [kworker/0:0]
root         5  0.0  0.0      0     0 ?        S<   Jun01   0:00 [kworker/0:0H]
root         7  0.0  0.0      0     0 ?        S    Jun01   0:33 [rcu_sched]
root         8  0.0  0.0      0     0 ?        S    Jun01   0:00 [rcu_bh]
root         9  0.0  0.0      0     0 ?        S    Jun01   0:00 [migration/0]
root        10  0.0  0.0      0     0 ?        S    Jun01   0:00 [kdevtmpfs]
root        11  0.0  0.0      0     0 ?        S<   Jun01   0:00 [netns]
root        12  0.0  0.0      0     0 ?        S<   Jun01   0:00 [perf]
...

表示結果の見方

psコマンドの結果画面に表示される各項目の意味は以下の通りです。

USER プロセスを所有しているユーザー名
PID プロセスに割り振られた番号
%CPU CPUが使用されている割合
%MEM メモリが使用されている割合
VSZ メモリの使用サイズ(仮想メモリを含む)
RSS メモリの実際の使用サイズ(仮想メモリは含まない)
TTY(TT) 端末の名前
STAT プロセスの現在の状態(下の表を参照)
START プロセスが開始した時刻
TIME プロセスの稼働時間
COMMAND プロセスの実行ファイル名とパス

「STAT」欄に表示されるアルファベットの意味は以下の通りです。

R 稼働中
S スリープ中
D スリープ中(現在制御不可)
T 停止処理中、またはトレース中
Z ゾンビ状態



イベント