Categories: linux

Linuxコマンドpsでプロセスを確認!使い方とオプション解説

Linuxシステムを操作していると、「今このマシンで何が動いているのか?」を確認したくなる場面が多々あります。そんなときに欠かせないのが「ps」コマンドです。
「ps(process status)」は、現在動作しているプロセスの一覧を確認できる便利なコマンドで、トラブルシューティングやリソース管理など多くの場面で活躍します。
この記事では、psコマンドの基本的な使い方から、便利なオプション、実践的な活用例までをわかりやすく解説します。Linux初心者の方でもすぐに使えるように、丁寧に説明していますので、ぜひ最後までご覧ください。


psコマンドとは?基本の意味と用途

「ps」は“process status”の略で、プロセスの状態を表示するためのコマンドです。
LinuxはマルチタスクなOSのため、常に多くのプロセスが同時に動作しています。これらのプロセスを把握し、必要に応じて管理するためには、まず「ps」コマンドを使って確認する必要があります。

例えば、何かのプログラムが固まってしまったとき、CPU使用率が急に上がったとき、特定のプロセスID(PID)を知りたいときなど、さまざまなシーンで役立ちます。


psコマンドの基本的な使い方

最もシンプルな使い方は以下の通りです。

ps

このコマンドを実行すると、現在のターミナルセッションで動いているプロセスだけが表示されます。出力例は以下のようになります:

PID TTY          TIME CMD
1234 pts/0 00:00:00 bash
5678 pts/0 00:00:01 ps

ここでの各列の意味は:

  • PID:プロセスID
  • TTY:端末情報(どの端末から起動されたか)
  • TIME:CPU時間(どれくらいCPUを使ったか)
  • CMD:実行されているコマンド名

この出力結果だけでは情報が少ないため、オプションを組み合わせて使うのが一般的です。


よく使われるオプション一覧

psコマンドはオプションが非常に多彩です。ここではよく使われる主要オプションを紹介します。

-e または -A(すべてのプロセスを表示)

ps -e
# または
ps -A

このオプションを付けることで、システム上のすべてのプロセスが表示されます。


-f(完全なフォーマットで表示)

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
  • UID:実行ユーザー
  • PPID:親プロセスID
  • C:CPU使用率
  • STIME:プロセスの開始時刻
  • ?:端末に接続されていないプロセス(デーモンなど)

-u(特定ユーザーのプロセスを表示)

ps -u username

特定のユーザーが実行しているプロセスだけを表示したい場合に使います。


-x(端末に関連しないプロセスも含める)

ps -x

端末に紐づかないプロセス(バックグラウンドなど)も含めて表示したいときに使います。
-e-fと組み合わせて使うことも多いです。


オプションを組み合わせた活用例

ps aux:Linuxで最も使われる形式の一つ

ps aux

この形式はBSDスタイルのオプションで、よく使われています。意味は以下の通り:

  • a:他のユーザーのプロセスも表示
  • u:ユーザー情報付きで表示
  • x:制御端末を持たないプロセスも表示

出力は非常に詳細で、次のような情報が表示されます:

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

grepと組み合わせて特定プロセスを検索する

実際の業務では「特定のプロセスだけ確認したい」場面も多いでしょう。
その場合は「ps + grep」の組み合わせが非常に便利です。

例:nginxというプロセスを探す

ps aux | grep nginx

このようにすれば、nginx関連のプロセスだけを一覧できます。
ただし、grep自身のプロセスも表示されるため、除外したい場合は次のようにします:

ps aux | grep nginx | grep -v grep

プロセスID(PID)を使ってkillコマンドと連携する

psコマンドでプロセスID(PID)を調べたら、次はそのプロセスを終了させたい場合もあります。
その際に使うのがkillコマンドです。

例:PIDが1234のプロセスを終了させる

kill 1234

強制終了させたいときは次のようにします:

kill -9 1234

-9は強制的にプロセスを終了させるシグナルです。ただし、乱用は注意です。


実践例:メモリを多く消費しているプロセスを調べる

メモリをたくさん使っているプロセスを確認するには、次のようにソートします:

ps aux --sort=-%mem | head

これは、メモリ使用率が高い順に並べて、上位10個を表示します。トラブル調査やチューニングにとても便利です。

同様に、CPU使用率でソートしたい場合は:

ps aux --sort=-%cpu | head

まとめ:psコマンドはLinux管理の必須ツール

psコマンドは、Linuxのプロセス管理において基本かつ重要なツールです。
今回紹介した使い方を覚えておけば、プロセスの状況を把握しやすくなり、トラブル対応やチューニングにも対応しやすくなります。

最初は「-ef」「aux」「grepとの組み合わせ」あたりから試してみるのがおすすめです。
より深く学びたい方は、man psコマンドでマニュアルを読んでみるのもよいでしょう。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。