ps 現在実行中のプロセスに関する情報を表示するUnixコマンド

ps (process status)は、現在実行中のプロセスに関する情報を表示するUnixコマンドである。

構文

ps [options]

psコマンドはすべてのUnixで使用できるが、optionsに指定できるコマンドオプションに統一性がないので注意が必要である。

使用例

$ ps
  PID TTY          TIME CMD
    6 tty1     00:00:00 bash
   72 tty1     00:00:00 ps

Linux

Linuxのpsコマンドには、次のオプションが指定できる。

a

他のユーザが実行しているプロセスも含め、すべてのプロセスに関する情報を表示する。-aオプションを指定しない場合は、自分が実行しているプロセスに関する情報を表示する。

f
親プロセスと子プロセスの関係を階層形式で表示する。
$ ps -f
UID        PID  PPID  C STIME TTY          TIME CMD
tsuka        6     5  0 16:37 tty1     00:00:00 -bash
tsuka       74     6  0 16:40 tty1     00:00:00 ps -f
l
プロセス情報の長いリスト(後述)を表示する。
$ ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1000     6     5  0  80   0 -  4777 -      tty1     00:00:00 bash
0 R  1000    75     6  0  80   0 -  4900 -      tty1     00:00:00 ps
p pid

指定したプロセスIDのプロセス情報を表示する。

u
ユーザ指向の形式でプロセス情報を表示する。ユーザ指向の形式は人間にとって読みやすい書式であるが、出力結果を他のコマンドで加工しづらくなる。
$ ps -u
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
tsuka        6  0.0  0.0  19108  3632 tty1     S    16:37   0:00 -bash
tsuka       76  0.0  0.0  19680  1880 tty1     R    16:43   0:00 ps -u
x

端末制御を持たないプロセスの情報も表示する。

見方

プロセス情報のリスト
情報 説明 デフォルト lオプション指定時
F プロセスのフラグ NG OK
UID プロセスのユーザID NG OK
PID プロセスID OK OK
PPID 親プロセスのプロセスID NG OK
PRI 優先度 NG OK
NI nice値 NG OK
WCHAN プロセスが休止状態のときのカーネル関数名 NG OK
STAT プロセスのステータス NG OK
TTY プロセスを制御している端末 OK OK
TIME プロセスが開始された時刻 OK OK
CMD プロセスのコマンド名 OK OK

Solaris

Solarisのpsコマンドには、次のオプションが指定できる。

-e

他のユーザが実行しているプロセスも含め、すべてのプロセスに関する情報を表示する。-eオプションを指定しない場合は、自分が実行しているプロセスに関する情報を表示する。

-f

プロセス情報の完全リスト(後述)を表示する。また、CMDにコマンド名と引数を最大80文字表示する。

-l

プロセス情報の長いリスト(後述)を表示する。

プロセス情報のリスト
情報 説明 -f -l
F プロセスのフラグ NG OK
S プロセスの状態 NG OK
UID プロセスの実効ユーザID OK OK
PID プロセスID OK OK
PPID 親プロセスのプロセスID OK OK
C プロセッサ利用率 OK OK
PRI 優先順位 NG OK
NI nice値 NG OK
ADDR プロセスのメモリアドレス NG OK
SZ 割り当てられたすべてのファイルとデバイス OK OK
WCHAN 休止中 NG OK
STIME プロセスの開始時間 OK NG
TTY プロセスを制御している端末 OK OK
TIME プロセスの累積実行時間 OK OK
CMD コマンド名 OK OK

対応状況

OS 対応
AIX OK
HP-UX OK
Linux OK
Solaris OK

使用例

自分が実行しているプロセスに関する情報を表示する例を示す。

$ ps

Linuxコマンド