Aerial view of woman using a computer laptop and a cup of tea
Linuxシステムを操作していると、「今このマシンで何が動いているのか?」を確認したくなる場面が多々あります。そんなときに欠かせないのが「ps」コマンドです。
「ps(process status)」は、現在動作しているプロセスの一覧を確認できる便利なコマンドで、トラブルシューティングやリソース管理など多くの場面で活躍します。
この記事では、psコマンドの基本的な使い方から、便利なオプション、実践的な活用例までをわかりやすく解説します。Linux初心者の方でもすぐに使えるように、丁寧に説明していますので、ぜひ最後までご覧ください。
「ps」は“process status”の略で、プロセスの状態を表示するためのコマンドです。
LinuxはマルチタスクなOSのため、常に多くのプロセスが同時に動作しています。これらのプロセスを把握し、必要に応じて管理するためには、まず「ps」コマンドを使って確認する必要があります。
例えば、何かのプログラムが固まってしまったとき、CPU使用率が急に上がったとき、特定のプロセスID(PID)を知りたいときなど、さまざまなシーンで役立ちます。
最もシンプルな使い方は以下の通りです。
ps
このコマンドを実行すると、現在のターミナルセッションで動いているプロセスだけが表示されます。出力例は以下のようになります:
PID TTY TIME CMD
1234 pts/0 00:00:00 bash
5678 pts/0 00:00:01 ps
ここでの各列の意味は:
この出力結果だけでは情報が少ないため、オプションを組み合わせて使うのが一般的です。
psコマンドはオプションが非常に多彩です。ここではよく使われる主要オプションを紹介します。
ps -e
# または
ps -A
このオプションを付けることで、システム上のすべてのプロセスが表示されます。
ps -ef
-e
と-f
を組み合わせると、詳細情報付きですべてのプロセスが表示されます。これは非常によく使われる形です。
出力例:
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 10:00 ? 00:00:01 /sbin/init
user 2345 1234 0 10:01 pts/0 00:00:00 bash
ps -u username
特定のユーザーが実行しているプロセスだけを表示したい場合に使います。
ps -x
端末に紐づかないプロセス(バックグラウンドなど)も含めて表示したいときに使います。-e
や-f
と組み合わせて使うことも多いです。
ps aux
この形式はBSDスタイルのオプションで、よく使われています。意味は以下の通り:
出力は非常に詳細で、次のような情報が表示されます:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
user 1234 0.0 0.1 10000 3000 pts/0 Ss 10:01 0:00 bash
実際の業務では「特定のプロセスだけ確認したい」場面も多いでしょう。
その場合は「ps + grep」の組み合わせが非常に便利です。
ps aux | grep nginx
このようにすれば、nginx関連のプロセスだけを一覧できます。
ただし、grep自身のプロセスも表示されるため、除外したい場合は次のようにします:
ps aux | grep nginx | grep -v grep
psコマンドでプロセスID(PID)を調べたら、次はそのプロセスを終了させたい場合もあります。
その際に使うのがkill
コマンドです。
kill 1234
強制終了させたいときは次のようにします:
kill -9 1234
-9
は強制的にプロセスを終了させるシグナルです。ただし、乱用は注意です。
メモリをたくさん使っているプロセスを確認するには、次のようにソートします:
ps aux --sort=-%mem | head
これは、メモリ使用率が高い順に並べて、上位10個を表示します。トラブル調査やチューニングにとても便利です。
同様に、CPU使用率でソートしたい場合は:
ps aux --sort=-%cpu | head
psコマンドは、Linuxのプロセス管理において基本かつ重要なツールです。
今回紹介した使い方を覚えておけば、プロセスの状況を把握しやすくなり、トラブル対応やチューニングにも対応しやすくなります。
最初は「-ef」「aux」「grepとの組み合わせ」あたりから試してみるのがおすすめです。
より深く学びたい方は、man ps
コマンドでマニュアルを読んでみるのもよいでしょう。