Linuxの全プロセスを一覧表示する「ps aux」コマンドの使い方と見方

Linuxを操作していると、今システム上で動いているプロセスを確認したい場面が多々あります。そんな時に役立つのが「ps aux」コマンドです。
このコマンドは、ユーザーごとのプロセスに限らず、すべてのプロセス情報を詳細に表示してくれるため、トラブルシューティングやリソース監視の基本となるコマンドのひとつです。

この記事では、ps auxコマンドの意味や使い方、出力内容の見方、よく使うオプションの組み合わせまでをわかりやすく解説します。Linux初心者から中級者まで、必ず押さえておきたい内容となっています。


ps auxとは何か?

ps aux」は、Linuxにおけるプロセス状態確認のためのコマンドです。
psコマンド自体は「process status」の略で、現在動作中のプロセスを表示するために使われます。

ここで使用している「aux」は、それぞれ次のような意味を持ちます:

  • a: 端末に関係なくすべてのユーザーのプロセスを表示
  • u: プロセスの所有者やCPU使用率などの追加情報を表示
  • x: 制御端末(tty)を持たないプロセスも表示(デーモンなど)

これらを組み合わせて「ps aux」とすることで、全プロセスを詳細付きで確認できるのです。


実際にps auxを使ってみよう

まずは、実際にコマンドラインで ps aux を実行してみましょう。

ps aux

このコマンドを入力すると、以下のような情報が一覧で表示されます:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root 1 0.0 0.1 169076 8328 ? Ss 10:00 0:01 /sbin/init
user 12345 0.2 1.5 938764 120000 pts/0 Sl 10:03 0:07 /usr/bin/python3 script.py
...

表示されるカラムは多く、初めて見ると少し戸惑うかもしれません。以下でそれぞれのカラムの意味を解説します。


ps auxの出力の見方をマスターしよう

ここでは、ps auxコマンドで表示される各列(カラム)の意味を1つずつ説明します。

  • USER:そのプロセスを実行しているユーザー名
  • PID:プロセスID(Process ID)
  • %CPU:CPU使用率(直近のCPU使用状況)
  • %MEM:メモリ使用率
  • VSZ:仮想メモリサイズ(単位はKB)
  • RSS:実際に使用している物理メモリサイズ(単位はKB)
  • TTY:端末名(制御端末)
  • STAT:プロセスの状態
  • START:プロセスが開始された時刻
  • TIME:プロセスが使用したCPU時間の累計
  • COMMAND:実行しているコマンドのパスや引数付き内容

STATの主な記号

STATのカラムには複数の記号が表示されますが、よく使われるものを覚えておくと便利です:

  • R: 実行中(Running)
  • S: スリープ(待機中)
  • Z: ゾンビプロセス
  • T: 停止中
  • D: 割り込み不能なスリープ(ディスクI/O待ちなど)

また、ステータス記号の後に<Nなどがつくこともありますが、これは優先度やスケジューリングに関する情報です。


よく使うフィルタリング方法

ps auxの出力結果は多すぎて見にくくなることがあります。そんな時は grep コマンドと組み合わせることで、特定のプロセスを検索できます。

例:特定のプロセスを検索する

ps aux | grep apache2

このコマンドは、”apache2″ という文字列を含むプロセスだけを表示します。
ただし、この方法では grep apache2 自体のプロセスも表示されてしまうため、それを除外したい場合は以下のようにします:

ps aux | grep '[a]pache2'

例:特定のユーザーが実行しているプロセスを表示

ps aux | awk '$1 == "username"'

このように、awkと組み合わせることで、より細かなフィルタリングも可能です。


ps auxと他コマンドとの使い分け

ps auxは非常に汎用的で強力ですが、以下のようなコマンドと使い分けることで、目的に応じたプロセス管理が行えます。

top / htop

  • top:リアルタイムにプロセスを表示。動的監視に向いています。
  • htop:topの高機能版。視覚的にわかりやすく、プロセスの終了操作なども可能。

pgrep / pkill

  • pgrep:特定のプロセスのPIDを検索(grep不要)
  • pkill:プロセス名を指定して終了させる(例:pkill apache2

ps aux は静的なスナップショットを確認したいときに使い、tophtopは動的監視、pgreppkillはプロセス制御に活用するのがおすすめです。


プロセス監視の実例:CPU使用率の高いプロセスを調べる

ps auxsort を組み合わせれば、CPUやメモリを多く使っているプロセスを上位から確認できます。

CPU使用率の上位プロセスを確認

ps aux --sort=-%cpu | head -n 10

メモリ使用率の上位プロセスを確認

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

--sort=-%cpu のように「-」をつけると降順になります。head -n 10 で上位10件のみを表示しています。


実行中のプロセスを終了する方法

ps aux でプロセスID(PID)を確認したら、それを使って kill コマンドでプロセスを終了させることができます。

killでプロセスを終了

kill 12345

強制終了(SIGKILL)

kill -9 12345

通常は kill で十分ですが、どうしても終了しない場合は -9 オプションを使います(ただし注意して使用すること)。


まとめ:ps auxはLinux管理の基本ツール

ps aux」は、Linuxのプロセス監視・トラブルシューティング・リソース調査など、さまざまな場面で使える非常に基本的かつ強力なコマンドです。

覚えるべきポイントをまとめると:

  • ps aux全プロセスの詳細情報が見られる
  • grepやsortとの組み合わせで目的のプロセスを素早く抽出できる
  • PIDを使って不要なプロセスを終了することも可能
  • 状況に応じて他のコマンド(top、pgrepなど)と使い分けるとより便利

初心者の方はまずは ps aux に慣れることから始めて、少しずつコマンドの活用方法を広げていきましょう。システムの状態を自分の目で確認できるようになると、トラブルにも冷静に対処できるようになりますよ。

タイトルとURLをコピーしました