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

ps auxコマンドの使い方を完全ガイド!初心者でもわかるLinuxのプロセス管理の基本

Linuxのps auxの意味と見方を初心者向けに解説
Linuxのps auxの意味と見方を初心者向けに解説

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

生徒

「Linuxで今どんなプログラムが動いているか確認したいんですけど、どうすればいいですか?」

先生

「それならps auxコマンドが便利ですよ。今動いているすべてのプロセスを一覧で見ることができます。」

生徒

「プロセスって何ですか?それとauxって何か意味があるんですか?」

先生

「プロセスは実行中のプログラムのことです。auxはオプションの組み合わせで、詳しい情報を表示するための指定なんです。順番に説明していきますね。」

1. ps auxコマンドとは?

1. ps auxコマンドとは?
1. ps auxコマンドとは?

ps auxコマンドは、Linuxシステムで現在実行されているすべてのプロセスを表示するコマンドです。プロセスとは、コンピュータ上で動いているプログラムのことを指します。たとえば、ブラウザを開いているとき、音楽プレイヤーが動いているとき、それぞれが別々のプロセスとして実行されています。

Windowsでいうと「タスクマネージャー」のようなものです。タスクマネージャーでは、どのアプリがどれくらいメモリを使っているか、CPUをどれくらい使っているかが見られますよね。ps auxコマンドも同じように、Linuxで動いているプログラムの状態を確認できます。

psは「process status」の略で、プロセスの状態を表示するという意味です。システムが重いとき、どのプログラムが原因か調べたり、不要なプログラムを見つけて終了させたりするときに使います。

2. ps auxの各オプションの意味

2. ps auxの各オプションの意味
2. ps auxの各オプションの意味

ps auxauxは、実は三つのオプションが組み合わさったものです。それぞれの意味を見ていきましょう。

  • a:すべてのユーザーのプロセスを表示します。自分だけでなく、他のユーザーが実行しているプログラムも含めて表示されます。
  • u:ユーザー名や、CPU使用率、メモリ使用率など、詳しい情報を表示します。「user-oriented format」の略です。
  • x:ターミナルに関連付けられていないプロセスも表示します。バックグラウンドで動いているプログラムなども含まれます。

これらを組み合わせることで、システム上で動いているすべてのプロセスの詳細情報が見られるようになります。コマンドを実行すると、たくさんの情報が表示されますが、一つ一つ理解していけば大丈夫です。

3. 基本的な使い方

3. 基本的な使い方
3. 基本的な使い方

ps auxコマンドは、とてもシンプルに使えます。ターミナルで以下のように入力するだけです。


ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  16880  1234 ?        Ss   10:00   0:01 /sbin/init
root         2  0.0  0.0      0     0 ?        S    10:00   0:00 [kthreadd]
www-data   456  0.5  2.3 456789 23456 ?        S    10:05   0:15 /usr/sbin/apache2
user      1234  1.2  3.4 678901 34567 pts/0    Ss   11:30   0:45 /usr/bin/python3

このコマンドを実行すると、上記のように多くの情報が表示されます。最初は圧倒されるかもしれませんが、必要な情報だけを見られるようになれば問題ありません。

表示される項目が多いので、画面に収まりきらないこともあります。そんなときは、lessコマンドと組み合わせて使うと、スクロールしながら見ることができます。


ps aux | less

このように「パイプ」記号の|を使うことで、結果をlessコマンドに渡して、ページ単位で見られるようになります。矢印キーで上下にスクロールでき、qキーを押すと終了します。

4. 表示される項目の見方

4. 表示される項目の見方
4. 表示される項目の見方

ps auxコマンドで表示される各項目の意味を理解しましょう。それぞれの列が何を表しているかわかれば、必要な情報をすぐに見つけられます。

  • USER:そのプロセスを実行しているユーザー名です。rootはシステム管理者、www-dataはウェブサーバー用のユーザーなどです。
  • PID:プロセスID番号です。各プロセスに割り振られる固有の番号で、プロセスを特定するときに使います。
  • %CPU:そのプロセスがCPUをどれくらい使っているかをパーセントで表示します。数値が大きいほど、CPUを多く使っています。
  • %MEM:そのプロセスがメモリ(RAM)をどれくらい使っているかをパーセントで表示します。
  • VSZ:仮想メモリのサイズです。キロバイト単位で表示されます。プログラムが確保している仮想的なメモリの量です。
  • RSS:実際に物理メモリで使用しているサイズです。実メモリの使用量を表します。
  • TTY:プロセスが関連付けられている端末です。?はターミナルに関連付けられていないことを意味します。
  • STAT:プロセスの状態を表すコードです。Sはスリープ状態、Rは実行中などを意味します。
  • START:プロセスが開始された時刻です。
  • TIME:そのプロセスがCPUを使った累計時間です。
  • COMMAND:実行されているコマンドやプログラム名です。プロセスが何をしているかがわかります。

これらの情報を見ることで、どのプログラムがシステムリソースを多く使っているか、どんなプログラムが動いているかが一目でわかります。

5. STATカラムの状態コード

5. STATカラムの状態コード
5. STATカラムの状態コード

STATカラムには、プロセスの状態を表す記号が表示されます。主な状態コードを覚えておくと便利です。

  • R:実行中またはすぐに実行できる状態(Running)
  • S:スリープ状態。何かの処理を待っている状態(Sleeping)
  • D:割り込み不可能なスリープ状態。通常はディスク入出力を待っている状態
  • Z:ゾンビプロセス。終了しているが、親プロセスが終了を認識していない状態
  • T:停止している状態(Stopped)
  • s:セッションリーダー。小文字のsが追加されている場合、そのプロセスがセッションのリーダーであることを示します
  • +:フォアグラウンドプロセスグループに属していることを示します
  • <:高い優先度で実行されていることを示します

たとえば、Ssと表示されている場合は、スリープ状態のセッションリーダーということになります。これらの記号を理解することで、プロセスの状態をより詳しく把握できます。

6. 特定のプロセスを検索する方法

6. 特定のプロセスを検索する方法
6. 特定のプロセスを検索する方法

ps auxコマンドの結果から、特定のプロセスだけを見たいときは、grepコマンドと組み合わせます。grepは文字列を検索するコマンドです。

たとえば、Apacheウェブサーバーのプロセスだけを表示したい場合は、以下のようにします。


ps aux | grep apache
www-data   456  0.5  2.3 456789 23456 ?        S    10:05   0:15 /usr/sbin/apache2
www-data   457  0.3  2.1 456789 21234 ?        S    10:05   0:10 /usr/sbin/apache2
user      2345  0.0  0.1  12345  1234 pts/0    S+   12:00   0:00 grep apache

この例では、apacheという文字列を含むプロセスだけが表示されます。最後の行にgrep apache自体も表示されていますが、これは検索コマンド自身のプロセスです。

同様に、Pythonのプロセスを探したい場合は次のようにします。


ps aux | grep python
user      1234  1.2  3.4 678901 34567 pts/0    Ss   11:30   0:45 /usr/bin/python3 script.py

この方法を使えば、システム上で動いている特定のアプリケーションやサービスを素早く見つけることができます。

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

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

システムが重いとき、どのプロセスが原因かを調べるには、CPU使用率やメモリ使用率の高い順に並び替えると便利です。sortコマンドを使って並び替えができます。

CPU使用率が高い順に表示するには、以下のようにします。


ps aux --sort=-%cpu | head -10
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
user      5678  5.2  8.3 1234567 89012 ?        Sl   09:00  15:30 /usr/bin/firefox
user      1234  1.2  3.4 678901 34567 pts/0    Ss   11:30   0:45 /usr/bin/python3

--sort=-%cpuは、CPU使用率の降順(高い順)で並び替えるオプションです。head -10を追加することで、上位10件だけを表示しています。

同じように、メモリ使用率が高い順に表示するには、次のようにします。


ps aux --sort=-%mem | head -10

この方法を使えば、システムリソースを多く消費しているプロセスをすぐに特定できます。システムのパフォーマンスを改善したいときに非常に役立ちます。

8. psコマンドの他のオプション組み合わせ

8. psコマンドの他のオプション組み合わせ
8. psコマンドの他のオプション組み合わせ

ps aux以外にも、psコマンドには様々なオプションの組み合わせがあります。目的に応じて使い分けることができます。

ps -efは、ps auxと似た結果を表示しますが、表示形式が少し異なります。こちらはUNIXスタイルのオプション指定です。


ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 10:00 ?        00:00:01 /sbin/init
root         2     0  0 10:00 ?        00:00:00 [kthreadd]

ps -efでは、PPID(親プロセスID)が表示されるのが特徴です。親プロセスIDとは、そのプロセスを起動した元のプロセスの番号です。プロセスの親子関係を調べるときに便利です。

自分のプロセスだけを見たいときは、ps -u ユーザー名を使います。


ps -u user

このように、状況に応じてオプションを使い分けることで、より効率的にプロセス管理ができます。

9. プロセスの終了方法

9. プロセスの終了方法
9. プロセスの終了方法

ps auxコマンドで問題のあるプロセスを見つけたら、そのプロセスを終了させることができます。プロセスを終了させるには、killコマンドを使います。

まず、ps auxで終了させたいプロセスのPID(プロセスID)を確認します。そして、そのPIDを指定してkillコマンドを実行します。


kill 1234

この例では、PIDが1234のプロセスに終了シグナルを送ります。通常、プロセスは正常に終了します。

もしプロセスが終了しない場合は、強制終了させることもできます。


kill -9 1234

-9オプションは、強制終了シグナルです。ただし、強制終了はデータの損失やシステムの不安定化を招く可能性があるため、通常のkillコマンドで終了できない場合の最終手段として使います。

プロセス名で直接終了させたい場合は、pkillコマンドも便利です。


pkill firefox

これにより、Firefoxという名前を含むすべてのプロセスが終了します。ただし、意図しないプロセスまで終了させてしまう可能性があるため、注意が必要です。

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

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

ps auxと似たコマンドにtopコマンドがあります。両方ともプロセス管理に使われますが、使い方や特徴が異なります。

ps auxは、コマンドを実行した瞬間のプロセス情報を表示します。スナップショットのように、その時点での状態を一度だけ表示します。結果はターミナルに出力され、そのまま残ります。

一方、topコマンドは、プロセス情報をリアルタイムで更新し続けます。数秒ごとに画面が更新され、CPU使用率やメモリ使用率の変化を監視できます。


top

topコマンドを実行すると、画面全体がプロセス一覧に切り替わり、常に最新の情報が表示されます。終了するにはqキーを押します。

どちらを使うかは、目的によって決めます。過去のログと照らし合わせたり、特定の時点での情報を記録したりする場合はps auxが便利です。システムの負荷をリアルタイムで監視したい場合はtopが適しています。

また、htopというtopの改良版もあります。色分けされた見やすい表示と、マウスやキーボードでの操作が可能で、より直感的に使えます。ただし、システムによっては別途インストールが必要です。

プロセス管理は、Linuxシステムを運用する上で欠かせないスキルです。ps auxコマンドを使いこなせるようになれば、システムトラブルの原因究明や、パフォーマンスの最適化が格段に楽になります。最初は情報量が多くて戸惑うかもしれませんが、実際に使ううちに必要な情報を見つけられるようになります。

カテゴリの一覧へ
新着記事
New1
VPC(プライベートクラウド)
AWS VPCでNATゲートウェイを構成してプライベートサブネットから外部アクセスする方法を初心者向けに解説!
New2
RDS(データベース)
AWS RDSのスケーリング(インスタンスサイズ変更)を初心者向けにやさしく解説!
New3
プロセス・ジョブ管理
ps auxコマンドの使い方を完全ガイド!初心者でもわかるLinuxのプロセス管理の基本
New4
AWS の サーバーレスアーキテクチャ
AWSで学ぶAmazon S3を使った静的Webサイトのホスティング完全入門 初心者でもわかるサーバーレス構成
人気記事
No.1
Java&Spring記事人気No1
S3(オブジェクトストレージ)
AWS S3の料金体系をわかりやすく解説
No.2
Java&Spring記事人気No2
RDS(データベース)
AWS RDSのスナップショットを手動で作成・復元する方法を初心者向けにやさしく解説!
No.3
Java&Spring記事人気No3
AWS PrivateLink
AWS PrivateLinkとSecurity Group設定のポイントを徹底解説!初心者でもわかるセキュアなサービス接続
No.4
Java&Spring記事人気No4
RDS(データベース)
AWS RDSのメンテナンスウィンドウの設定方法を解説!初心者でもできるクラウドデータベースの管理
No.5
Java&Spring記事人気No5
RDS(データベース)
AWS RDSのスケーリング(インスタンスサイズ変更)を初心者向けにやさしく解説!
No.6
Java&Spring記事人気No6
AWS 基本
AWSの公式料金計算ツール(Pricing Calculator)の使い方
No.7
Java&Spring記事人気No7
RDS(データベース)
AWS RDSでSSL接続を有効化してセキュアに通信する方法を初心者向けに解説!
No.8
Java&Spring記事人気No8
ELB(ロードバランサー)
AWS ELBのスティッキーセッション(セッション維持)を使う方法を初心者向けに解説!