Linuxの「ps」コマンド徹底解説!基本から応用までの使い方12選
Linuxオペレーティングシステムにおいて、psコマンドはシステム管理者が最も頻繁に使用するツールの一つです。現在実行中のプロセスの一覧をリアルタイムで確認できるため、サーバー管理やトラブルシューティングに欠かせません。
psコマンドにはさまざまな構文がありますが、ここでは最も一般的に使われるハイフン(ダッシュ)を1つ付けた形式を中心に、実用的な使い方を12のパターンに分けてご紹介します。
それでは始めましょう!
1. すべてのプロセスを表示する
使用コマンド:ps -ef
このコマンドを実行すると、現在実行中のプロセスと、各プロセスに関連する情報が一覧表示されます。出力には、PID(プロセスID)、端末の種類、コマンド名、実行時間などを示す列が含まれます。
2. プロセス名で絞り込む
使用コマンド:ps -C 名前
プロセス名を指定して該当するプロセスだけを表示します。プロセス名はすべて小文字で指定する点に注意してください。-eプレフィックスを付けなくても、すべてのプロセスが検索対象になります。
3. ユーザー別にプロセスを表示する
使用コマンド:ps -e -u ユーザー名
特定のユーザーが実行しているプロセスだけを抽出して表示できます。プレフィックスなしでも利用可能です。
4. プロセスIDで絞り込む
使用コマンド:ps -ef -p 1234,5678,9012
実行中のプロセスのPIDがわかっている場合は、プロセスIDを指定してフィルタリングできます。カンマ区切りにすることで、複数のPIDを一度に指定することも可能です。
5. 特定の列のみを表示する
使用コマンド:ps -e -o pid,uname,pcpu,pmem,comm
-oフラグを使用すると、psコマンドの出力結果から必要な列だけを選んで表示できます。CPU使用率やメモリ使用率など、注目したい情報に絞った見やすい出力が得られます。
6. 結果をgrepで検索する
使用コマンド:ps -ef | grep worker
psの出力結果の中から柔軟に検索したい場合は、パイプ(|)を使って結果をgrepに渡します。grepコマンドでは正規表現によるパターンマッチング検索もできるため、目的のプロセスを素早く見つけられます。
7. リソース使用率でソートする
使用コマンド:ps -e --sort=-pcpu -o pid,pcpu,comm
指定した列の値に基づいてプロセスを並べ替えます。「-」プレフィックスを付けると降順、「+」プレフィックスを付けると昇順でソートされます。末尾の-oオプションは特定の列を表示するためのものであり、ソート自体には必須ではありません。
8. 名前変更した列とデフォルト列を組み合わせる
使用コマンド:ps -e -o pid,pcpu=CPU -o pmem=RAM,comm
特定の列のヘッダーを非表示にしたい場合は、「=」記号の直後に空白を入れてください。また、名前を変更した列とデフォルト名の列を混在させて表示したい場合は、名前を変更する列ごとに-oフラグを指定する必要があります。
9. 列のヘッダー名を変更する
使用コマンド:ps -o pid=Process,ruser=RealUser,comm=Command
-oオプションを使うと、ユーザー独自の出力形式を作成でき、列のヘッダー名を自由に変更できます。「=」記号の後に希望の名前を付けるだけでよく、名前を変更したヘッダーごとに-oフラグを指定します。
10. rootユーザーの全プロセスを表示する
使用コマンド:ps -f -U root -u root
実UIDと実効UIDがrootになっている、実行中のすべてのプロセスを検索して表示します。-fフラグを付けると完全な形式で出力され、さらに-oフラグを追加すれば出力内容をカスタマイズすることも可能です。
11. プロセスのスレッドを表示する
使用コマンド:ps -p 4041 -L
-Lフラグを使用するとスレッド表示が有効になり、psコマンドの機能を拡張できます。特定のプロセスが生成しているスレッドを追跡したい場合に特に便利です。
12. 階層ツリー形式で結果を表示する
使用コマンド:ps -e --forest
ASCIIアートを用いて、プロセスを木構造で視覚的に表示します。フォークされた子プロセスが、親プロセスの下にインデントされて表示されるため、プロセス間の親子関係がひと目でわかります。ツリーの「枝」を非表示にしたい場合は、--forestの代わりに-Hを指定してください。
以上が、psコマンドと組み合わせて使える代表的なコマンド例です。これらのオプションを活用することで、実行中のプロセスに関する情報を効率的に取得し、目的に応じた見やすい形式で表示できるようになります。日常的なサーバー管理やパフォーマンス監視にぜひ役立ててください。
-
Linuxのteeコマンド使い方ガイド|画面表示とファイル保存を同時に実現
Linuxシェルでパイプやリダイレクトを使っているなら、teeコマンドの出番もきっとあるはずです。teeは「標準出力に表示しながら、同時にファイルにも書き込む」ことができる便利なユーティリティです。この記事では、teeコマンドの基本操作から、sudoとの組み合わせ、追記モード、エラー出力の扱い方まで、実例を交えながら詳しく解説します。 teeコマンドとは何をするもの? まず、次のようなコマンドを見てみましょう。 ls このコマンドは、現在のディレクトリの内容を表示します。つまり、標準出力(stdout)へ出力するわけです。標準出力とは通常、画面、正確には仮想端末のディスプレイのことです
-
Linuxのwatchコマンドの使い方と実用例をわかりやすく解説
Linuxのwatchコマンドは、指定したコマンドを一定間隔で繰り返し実行し、その結果を画面に表示し続けるためのツールです。コマンドの出力が時間とともにどう変化するかをリアルタイムで監視したい場合に非常に便利です。この記事では、watchコマンドの基本的な使い方と、覚えておくと役立つ実用的な例を紹介します。 watchコマンドの基本構文 watchコマンドの構文は以下のとおりです。 watch オプション コマンド 各要素の意味は次のとおりです。 オプション: 後述の表から選択したオプションを指定します。watchコマンドのデフォルト動作を変更できます。 コマンド: watchが繰り返し実行