Ps (UNIX)

psコマンドについて



psコマンドは、Unix系オペレーティングシステム(OS)において、現在実行中のプロセスを表示するためのタスクマネージャーです。このコマンドは、システム上でどのようなプログラムが動いているのか、その詳細な情報を確認する際に非常に役立ちます。

基本的な使い方



psコマンドには多くのオプションが用意されており、それらを組み合わせることで、様々な情報を表示させることができます。

UNIXおよびPOSIX標準に準拠したシステム

これらのシステムでは、`ps -ef` というオプションがよく使われます。ここで、`-e` は「すべてのプロセス」を選択し、`-f` は「完全な出力フォーマット」を指定します。このオプションの組み合わせにより、システム上の全てのプロセスに関する詳細な情報を一覧表示できます。

また、`-l` オプションは「長い出力フォーマット」を指定し、より詳細な情報を表示する際に利用されます。

BSD系システム

BSDから派生したシステムでは、POSIXやUNIX標準のオプションが利用できない場合があります。これは、オプションの衝突が歴史的に存在したためです。例えば、`-e` オプションは環境変数を表示する機能として使われています。そのため、BSD系のシステムでは `ps aux` という非標準のオプションがよく用いられます。

この `aux` オプションでは、`a` は他のユーザーの端末を含む、全ての端末上のプロセスをリストします。`u` は個々のプロセスの制御ユーザーなどの情報を追加し、`x` は制御端末を持たない全てのプロセスをリストします。`aux` の前に `-` をつけないことが推奨されます。

Linuxとその他のシステム

Linuxの`ps`コマンドは、POSIX標準のオプションとBSD系のオプションの両方をサポートしています。Solarisでは、`/usr/bin/ps` が `-ef` をサポートし、`/usr/ucb/ps` が `aux` をサポートしています。

表示例



以下は `ps` コマンドの実行例です。

bash
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


この例では、各プロセスプロセスID(PID)、接続している端末(TTY)、CPU使用時間(TIME)、実行されたコマンド(CMD)が表示されています。

応用的な使い方



`ps`コマンドは、`grep`コマンドと組み合わせて、特定のプロセスに関する情報を抽出するのに便利です。

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


この例では、`ps -A` で全てのプロセスを表示し、それを `grep firefox-bin` でフィルタリングしています。これにより、`firefox-bin` という名前を含むプロセスだけが表示されます。

その他のツール



`top` コマンドも、実行中のプロセスを表示するためのユーティリティですが、こちらはリアルタイムでプロセスの状態を監視することができます。

関連コマンド




参考資料




psコマンドは、システム管理や開発において、プロセスの状態を把握するために不可欠なツールです。オプションを理解し、効果的に活用することで、システムの安定性とパフォーマンスを向上させることができます。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。