
psコマンド、使いこなせてる?プロセスの状態を自由自在に操って、プロセス確認をもっと効率的に!
psコマンドとは?プロセスの状態を把握しよう
psコマンドは、LinuxやmacOSなどのUnix系OSで、現在実行中のプロセスに関する情報を表示するためのコマンドです。システムの動作状況を把握したり、特定のプロセスを特定したりする際に非常に役立ちます。
プロセスID(PID)、CPU使用率、メモリ使用量、実行時間など、プロセスのさまざまな属性を表示できます。これらの情報を利用することで、システムのボトルネックとなっているプロセスや、異常な動作をしているプロセスを特定し、対処することができます。
psコマンドの基本的な使い方
psコマンドは、オプションなしで実行すると、現在のシェルで実行されているプロセスのみを表示します。
ps
より多くの情報を表示するには、様々なオプションを組み合わせて使用します。代表的なオプションをいくつか紹介します。
よく使うオプションと表示例
ps aux
:すべてのプロセスを表示
システム上で動作しているすべてのプロセスを表示します。ユーザー名、PID、CPU使用率、メモリ使用率、実行時間、コマンドなどが表示されます。a
はすべてのユーザーのプロセスを、u
はユーザー指向の形式で、x
は制御端末を持たないプロセスも表示することを意味します。
ps aux
ps -ef
:プロセスツリーを表示
プロセスとその親プロセスの関係を表示します。PID、PPID(親プロセスID)、ユーザー名、CPU使用率、開始時間、コマンドなどが表示されます。-e
はすべてのプロセスを、-f
は完全な形式で表示することを意味します。
ps -ef
ps -u [ユーザー名]
:特定のユーザーのプロセスを表示
指定されたユーザーが実行しているプロセスのみを表示します。[ユーザー名]
は実際のユーザー名に置き換えてください。
ps -u username
ps -p [PID]
:特定のPIDのプロセスを表示
指定されたPIDのプロセスに関する情報を表示します。[PID]
は実際のプロセスIDに置き換えてください。
ps -p 1234
ps aux | grep [キーワード]
:特定のキーワードを含むプロセスを検索
grepコマンドと組み合わせることで、特定のキーワードを含むプロセスを検索できます。例えば、ps aux | grep python
とすると、pythonを含むプロセスが表示されます。
ps aux | grep python
表示形式のカスタマイズ
psコマンドでは、-o
オプションを使用して表示する列をカスタマイズできます。例えば、PID、CMD(コマンド)、%cpu(CPU使用率)、%mem(メモリ使用率)のみを表示するには、次のようにします。
ps aux -o pid,cmd,%cpu,%mem
-o
オプションに続けて、表示したい列の名前をカンマ区切りで指定します。よく使用される列名には、次のようなものがあります。
- PID: プロセスID
- USER: ユーザー名
- %CPU: CPU使用率
- %MEM: メモリ使用率
- VSZ: 仮想メモリサイズ
- RSS: 物理メモリサイズ
- STAT: プロセスの状態
- START: プロセスの開始時間
- TIME: CPU使用時間
- COMMAND: コマンド
プロセスの状態 (STAT) について
STAT列には、プロセスの現在の状態を示すコードが表示されます。代表的な状態コードとその意味は以下の通りです。
これらの状態コードを理解することで、プロセスの動作状況をより詳細に把握することができます。
参考リンク
まとめ
psコマンドは、プロセスの状態を把握するための強力なツールです。基本的な使い方から、オプションを組み合わせた応用的な使い方まで、この記事で紹介した内容を参考に、ぜひ使いこなせるように練習してみてください。プロセスの監視やトラブルシューティングに役立つこと間違いなしです。