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
は静的なスナップショットを確認したいときに使い、top
やhtop
は動的監視、pgrep
やpkill
はプロセス制御に活用するのがおすすめです。
プロセス監視の実例:CPU使用率の高いプロセスを調べる
ps aux
と sort
を組み合わせれば、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
に慣れることから始めて、少しずつコマンドの活用方法を広げていきましょう。システムの状態を自分の目で確認できるようになると、トラブルにも冷静に対処できるようになりますよ。