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