カテゴリ: Linux 更新日: 2026/04/01

Linuxのpsコマンドとは?プロセス一覧を表示する基本を初心者向けに徹底解説

Linuxのpsコマンドとは?プロセス一覧を表示する基本
Linuxのpsコマンドとは?プロセス一覧を表示する基本

先生と生徒の会話形式で理解しよう

生徒

「Linuxで今動いているプログラムを確認するには、どうすればいいですか?」

先生

「Linuxではpsコマンドを使うことで、実行中のプロセスを確認できますよ。」

生徒

「プロセスって何ですか?それって難しそうですね…。」

先生

「プロセスは簡単に言うと、動いているプログラムのことです。基礎から丁寧に説明していくので安心してください。」

1. psコマンドとは?プロセスの基本を知ろう

1. psコマンドとは?プロセスの基本を知ろう
1. psコマンドとは?プロセスの基本を知ろう

psコマンドは、Linuxで現在実行中のプロセス一覧を表示するための基本的なコマンドです。プロセスとは、実行されているプログラムのことを指します。たとえば、ウェブブラウザを開いているときや音楽プレーヤーを使っているときなど、それぞれが一つのプロセスとして動作しています。

Windowsのタスクマネージャーで実行中のプログラムを確認するのと似ていますが、psコマンドはターミナル上で文字情報として表示します。プロセスの状態を把握することで、システムの管理やトラブルシューティングに役立てることができます。

psという名前は「Process Status」の略で、プロセスの状態を表示するという意味があります。Linux初心者の方が最初に覚えるべき重要なコマンドの一つです。

2. psコマンドの基本的な使い方

2. psコマンドの基本的な使い方
2. psコマンドの基本的な使い方

psコマンドの最も基本的な使い方は、オプションなしで実行する方法です。ターミナルにpsと入力するだけで、現在のターミナルで実行されているプロセスが表示されます。


ps
  PID TTY          TIME CMD
 1234 pts/0    00:00:00 bash
 5678 pts/0    00:00:00 ps

この結果では、いくつかの情報が列として表示されています。PIDは「Process ID」の略で、プロセスを識別するための番号です。TTYは端末の種類、TIMEはCPUを使用した時間、CMDは実行されているコマンド名を示します。

この例では、bashというシェル(コマンドを入力する環境)と、今実行したpsコマンド自体が表示されています。ただし、この方法では自分が実行したプロセスしか表示されないため、より詳しい情報を得るにはオプションを使います。

3. すべてのプロセスを表示する方法

3. すべてのプロセスを表示する方法
3. すべてのプロセスを表示する方法

システム全体で動作しているすべてのプロセスを確認したい場合は、ps auxコマンドを使います。これはLinuxユーザーが最もよく使うpsコマンドの形式です。


ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.2 169924 13452 ?        Ss   10:00   0:01 /sbin/init
daemon      23  0.0  0.1  28356  8924 ?        Ss   10:00   0:00 /usr/sbin/atd
user      1250  0.5  1.2 854632 98456 ?        Sl   10:15   0:05 /usr/bin/firefox

ここで使用しているauxは三つのオプションを組み合わせたものです。aはすべてのユーザーのプロセス、uはユーザー名や使用率などの詳細情報、xは端末に紐づいていないプロセスも表示するという意味があります。

この表示では、USERがプロセスの実行ユーザー、%CPUがCPU使用率、%MEMがメモリ使用率を示します。STATはプロセスの状態で、たとえばSはスリープ(待機中)、Rは実行中を意味します。

4. 特定のプロセスを検索して表示する

4. 特定のプロセスを検索して表示する
4. 特定のプロセスを検索して表示する

多くのプロセスが実行されている中から、特定のプロセスだけを探したいときは、grepコマンドと組み合わせて使います。たとえば、Firefoxブラウザのプロセスを探す場合は次のようにします。


ps aux | grep firefox
user      1250  0.5  1.2 854632 98456 ?        Sl   10:15   0:05 /usr/bin/firefox
user      3421  0.0  0.0  12108   940 pts/0    S+   11:30   0:00 grep firefox

この|(パイプ)という記号は、左側のコマンドの結果を右側のコマンドに渡すという意味です。つまり、ps auxの結果の中からgrepコマンドでfirefoxという文字列を含む行だけを抽出しています。

この方法を使えば、実行中のプログラムを素早く見つけることができます。Webサーバーやデータベースなど、特定のアプリケーションが動作しているか確認するときに非常に便利です。

5. プロセスをツリー形式で表示する

5. プロセスをツリー形式で表示する
5. プロセスをツリー形式で表示する

プロセスには親子関係があります。あるプロセスが別のプロセスを起動した場合、元のプロセスが親、新しいプロセスが子となります。この関係をわかりやすく見るには、ps auxfコマンドを使います。


ps auxf
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.2 169924 13452 ?        Ss   10:00   0:01 /sbin/init
root       450  0.0  0.3  65632 24588 ?        Ss   10:00   0:00 /usr/sbin/sshd
root      1100  0.0  0.2  98752 18432 ?        Ss   10:10   0:00  \_ sshd: user
user      1102  0.0  0.1  23456  9876 pts/0    Ss   10:10   0:00      \_ bash

fオプションを追加することで、プロセスが階層構造で表示されます。インデントと\_ 記号で親子関係が視覚的にわかりやすくなっています。この例では、sshdというSSHサーバーのプロセスが、ユーザー接続用のプロセスを起動し、そこからbashシェルが動いていることがわかります。

また、pstreeという専用コマンドを使うと、よりシンプルなツリー表示でプロセスの関係を確認することもできます。プロセス管理の理解を深めるのに役立つ表示方法です。

6. プロセスIDを指定して詳細を表示する

6. プロセスIDを指定して詳細を表示する
6. プロセスIDを指定して詳細を表示する

特定のプロセスIDがわかっている場合、そのプロセスの詳細情報だけを表示することができます。ps -pオプションにプロセスIDを指定します。


ps -p 1250 -o pid,user,%cpu,%mem,command
  PID USER     %CPU %MEM COMMAND
 1250 user      0.5  1.2 /usr/bin/firefox

-pオプションでプロセスID(この例では1250)を指定し、-oオプションで表示したい項目を選択しています。この方法を使えば、必要な情報だけを取り出せるため、画面が見やすくなります。

プロセスIDは、後で説明するプロセスの終了などの操作で必要になる重要な情報です。問題のあるプロセスを特定したり、リソースを多く使っているプロセスを調査したりする際に活用します。

7. CPU使用率やメモリ使用率で並べ替える

7. CPU使用率やメモリ使用率で並べ替える
7. CPU使用率やメモリ使用率で並べ替える

システムのパフォーマンスを確認するときは、CPUやメモリを多く使っているプロセスを見つけることが重要です。psコマンドとsortコマンドを組み合わせることで、使用率順に並べ替えることができます。


ps aux --sort=-%cpu | head -n 5
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
user      2345  5.2  3.4 1854632 278456 ?       Sl   11:00   2:15 /opt/app/server
user      1250  2.5  1.2 854632 98456 ?         Sl   10:15   0:45 /usr/bin/firefox
root       567  1.8  0.8 456789 65432 ?         Ss   10:00   1:20 /usr/sbin/mysqld

--sort=-%cpuオプションでCPU使用率の降順(高い順)に並べ替えています。%記号の前のマイナスが降順を意味します。head -n 5は上位5件だけを表示するコマンドです。

同様に、--sort=-%memとすればメモリ使用率順に並べ替えられます。システムが重くなったときや、どのプログラムがリソースを消費しているか調べたいときに、この方法が非常に役立ちます。

8. psコマンドとtopコマンドの違い

8. psコマンドとtopコマンドの違い
8. psコマンドとtopコマンドの違い

プロセスを確認するコマンドとして、psコマンドの他にtopコマンドもよく使われます。この二つのコマンドの違いを理解しておくと、状況に応じて使い分けることができます。

psコマンドは、実行した瞬間のプロセス情報を一度だけ表示します。スクリプトに組み込んだり、特定の情報を抽出したりするのに適しています。一方、topコマンドは画面全体を使ってリアルタイムでプロセス情報を更新し続けます。

topコマンドを使うと、システムの負荷状況を監視し続けることができますが、psコマンドの方が他のコマンドと組み合わせやすく、自動化に向いています。定期的にログを取りたい場合や、条件に応じた処理をしたい場合はpsコマンドが便利です。

また、htopというtopの強化版コマンドもあり、カラー表示や操作性の向上などの機能が追加されています。用途に合わせて適切なコマンドを選びましょう。

9. よく使うpsコマンドのオプション一覧

9. よく使うpsコマンドのオプション一覧
9. よく使うpsコマンドのオプション一覧

psコマンドには多くのオプションがあり、組み合わせることでさまざまな情報を取得できます。ここでは初心者の方が覚えておくと便利な主なオプションを紹介します。

ps -eまたはps -Aは、すべてのプロセスを表示します。ps -fは完全なフォーマットで詳細情報を表示し、ps -lは長いフォーマットでより詳しい技術情報を表示します。

ps -u ユーザー名とすることで、特定のユーザーが実行しているプロセスだけを表示できます。たとえばps -u rootとすれば、ルートユーザーが実行しているプロセスを確認できます。

また、ps --forestはツリー表示の別の方法で、ps -C コマンド名は特定のコマンド名のプロセスだけを表示します。これらのオプションを覚えておくことで、必要な情報に素早くアクセスできるようになります。

10. psコマンドを使った実践的な活用例

10. psコマンドを使った実践的な活用例
10. psコマンドを使った実践的な活用例

psコマンドは、日常的なシステム管理で様々な場面で活用できます。たとえば、応答しなくなったプログラムを強制終了したいときは、まずpsでプロセスIDを調べてからkillコマンドで終了させます。

サーバー管理では、特定のサービスが正常に動作しているかをpsコマンドで確認することができます。Webサーバーのプロセス数をカウントしたり、データベースの起動状態をチェックしたりする際に使われます。

また、システムのパフォーマンス分析では、定期的にpsコマンドの結果をログファイルに保存し、時系列でリソース使用状況を追跡することもできます。シェルスクリプトと組み合わせることで、自動監視システムを構築することも可能です。

psコマンドは単純に見えますが、Linux管理の基礎となる重要なコマンドです。オプションを組み合わせたり、他のコマンドと連携させたりすることで、非常に強力なツールとして活用できます。基本をしっかり理解して、少しずつ使いこなせるようになりましょう。

カテゴリの一覧へ
新着記事
New1
S3(オブジェクトストレージ)
AWS S3のクロスリージョンレプリケーションを設定する方法を初心者向けにやさしく解説!
New2
RDS(データベース)
AWS RDSのメンテナンスウィンドウの設定方法を解説!初心者でもできるクラウドデータベースの管理
New3
プロセス・ジョブ管理
Linuxのpsコマンドとは?プロセス一覧を表示する基本を初心者向けに徹底解説
New4
AWS の サーバーレスアーキテクチャ
AWS AppSyncでGraphQL APIを構築する手順を完全解説!初心者でもわかるサーバーレスAPI入門
人気記事
No.1
Java&Spring記事人気No1
S3(オブジェクトストレージ)
AWS S3の料金体系をわかりやすく解説
No.2
Java&Spring記事人気No2
AWS PrivateLink
AWS PrivateLinkとSecurity Group設定のポイントを徹底解説!初心者でもわかるセキュアなサービス接続
No.3
Java&Spring記事人気No3
RDS(データベース)
AWS RDSのスナップショットを手動で作成・復元する方法を初心者向けにやさしく解説!
No.4
Java&Spring記事人気No4
RDS(データベース)
AWS RDSのスケーリング(インスタンスサイズ変更)を初心者向けにやさしく解説!
No.5
Java&Spring記事人気No5
AWS の セキュリティ対策
AWS WAF・Shieldで学ぶAWSのセキュリティ対策完全入門|DDoS攻撃とWeb攻撃を初心者でも防げる方法
No.6
Java&Spring記事人気No6
ELB(ロードバランサー)
AWS ELBのスティッキーセッション(セッション維持)を使う方法を初心者向けに解説!
No.7
Java&Spring記事人気No7
RDS(データベース)
AWS RDSのメンテナンスウィンドウの設定方法を解説!初心者でもできるクラウドデータベースの管理
No.8
Java&Spring記事人気No8
AWS PrivateLink
AWS PrivateLinkをALB/NLB経由で利用する構成例を初心者向けに解説|セキュアなサービス接続の仕組み