Linuxを操作していると、今システム上で動いているプロセスを確認したい場面が多々あります。そんな時に役立つのが「ps aux
」コマンドです。
このコマンドは、ユーザーごとのプロセスに限らず、すべてのプロセス情報を詳細に表示してくれるため、トラブルシューティングやリソース監視の基本となるコマンドのひとつです。
この記事では、ps aux
コマンドの意味や使い方、出力内容の見方、よく使うオプションの組み合わせまでをわかりやすく解説します。Linux初心者から中級者まで、必ず押さえておきたい内容となっています。
「ps aux
」は、Linuxにおけるプロセス状態確認のためのコマンドです。ps
コマンド自体は「process status」の略で、現在動作中のプロセスを表示するために使われます。
ここで使用している「aux」は、それぞれ次のような意味を持ちます:
a
: 端末に関係なくすべてのユーザーのプロセスを表示u
: プロセスの所有者やCPU使用率などの追加情報を表示x
: 制御端末(tty)を持たないプロセスも表示(デーモンなど)これらを組み合わせて「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コマンドで表示される各列(カラム)の意味を1つずつ説明します。
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は非常に汎用的で強力ですが、以下のようなコマンドと使い分けることで、目的に応じたプロセス管理が行えます。
top
:リアルタイムにプロセスを表示。動的監視に向いています。htop
:topの高機能版。視覚的にわかりやすく、プロセスの終了操作なども可能。pgrep
:特定のプロセスのPIDを検索(grep不要)pkill
:プロセス名を指定して終了させる(例:pkill apache2
)ps aux
は静的なスナップショットを確認したいときに使い、top
やhtop
は動的監視、pgrep
やpkill
はプロセス制御に活用するのがおすすめです。
ps aux
と sort
を組み合わせれば、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 12345
kill -9 12345
通常は kill
で十分ですが、どうしても終了しない場合は -9
オプションを使います(ただし注意して使用すること)。
「ps aux
」は、Linuxのプロセス監視・トラブルシューティング・リソース調査など、さまざまな場面で使える非常に基本的かつ強力なコマンドです。
覚えるべきポイントをまとめると:
ps aux
で全プロセスの詳細情報が見られる初心者の方はまずは ps aux
に慣れることから始めて、少しずつコマンドの活用方法を広げていきましょう。システムの状態を自分の目で確認できるようになると、トラブルにも冷静に対処できるようになりますよ。