Ps (UNIX)

ほとんどの Unix系オペレーティングシステム (OS) で ps（ピーエス）は現在動作しているプロセスを表示するタスクマネージャーである。

ps にはたくさんのオプションがある。UNIX や POSIX 標準をサポートするオペレーティングシステムでは、ps はよく -ef オプションを付けて使われる。ここで、"-e" はすべて (every) のプロセスを選択し、 "-f" は完全な (full) 出力フォーマットを選ぶ。このようなシステムでよく使われる他のオプションには "-l" で、長い (long) 出力フォーマットを指定する。

BSD から派生したほとんどのシステムでは POSIX や UNIX 標準オプションをとることができない。これは歴史的なオプションの衝突によるもので、例えば "e" または "-e" オプションをつけると環境変数が表示される。そのようなシステムでは、ps は非標準のオプション aux をつけてよく使われる。ここで "a" は他のユーザの端末を含む端末上のすべてのプロセスをリストし、"u" は個々のプロセスの制御ユーザなどを追加し、"x" は制御端末をもたないすべてのプロセスをリストする。これらのオプションを使うときに互換性をできるだけ高めるには、"aux" の前に "-" をつけるべきではない。

Linux の ps は両方のオプションに対応している。Solaris の /usr/bin/ps は "-ef" に対応し、/usr/ucb/ps は "aux" に対応する。

top という他の UNIX ユーティリティは実行しているプロセスをリアルタイムで表示する。

例 

 tux ~ # ps
   PID TTY          TIME CMD
  7431 pts/0    00:00:00 su
  7434 pts/0    00:00:00 bash
 18585 pts/0    00:00:00 ps

ps コマンドは、あるプロセスについてプロセス id のような情報を得るために grep コマンドと組み合わせて使うこともできる。

 tux ~ # ps -A | grep firefox-bin
 11778 ?        02:40:08 firefox-bin
 11779 ?        00:00:00 firefox-bin

関連項目 
top
pstree
pgrep

外部リンク 
 Manpage of PS JM Project
 The ps Command - by The Linux Information Project (LINFO)（英語）
 ps(1) man page（SunOS リファレンスマニュアル）
 ps(1) man page（HP-UX リファレンス）

UNIXのソフトウェア