新Linux入門|psコマンドを理解しよう!実行中のプロセスを確認する方法

Linuxでは多くのプログラム(プロセス)が同時に動作しています。
「今、どんなプロセスが動いているのか」「どのユーザーが何を実行しているのか」
といった情報を確認したいときに便利なのが psコマンド です。

psコマンドは「Process Status」の略で、実行中のプロセス情報を表示するコマンド です。
 システム監視やトラブルシューティング、不要なプロセスの確認など、日常的に使われる非常に重要なツールです。

⚙️ psコマンドの概要

 psコマンドは、現在実行中のプロセスを一覧表示し、PID(プロセスID)やCPU使用率、実行ユーザーなどを確認するために使います。

プロセスの状態を調べたり、後続のkillコマンドなどで終了させる際の判断材料として利用されます。

📘 コマンド書式

ps [オプション]

📗 例

[suzuki@AlmaLinux ~]$ ps

このように、引数を付けずに実行すると、現在の端末で動作しているプロセスのみが表示されます。

🔍 主なオプション一覧

オプション説明
-eシステム上で実行中のすべてのプロセスを表示する。
-fプロセスを詳細(親子関係や実行ユーザーなど)付きで表示する。
-lロングフォーマットで詳細な情報を表示する。
-aすべての端末上のプロセスを表示する。
-uユーザー単位でプロセスを表示し、CPUやメモリ使用率も表示する。
-p指定したプロセスID(PID)の情報だけを表示する。
-auxBSD形式で全プロセスを表示(よく使われる形式)。

💡 ヒント

  • ps -ef はLinuxで最もよく使われる形式で、全プロセスを詳細表示します。
  • ps aux はBSDスタイルの表示形式で、macOSでも同様に使用できます。

🧪 psコマンドの使用例と出力解説

① 基本の使用

[suzuki@AlmaLinux ~]$ ps
  PID TTY          TIME CMD
 3222 pts/0    00:00:00 bash
 3686 pts/0    00:00:00 ps

💬 現在のターミナル(pts/0)で実行中のプロセス(bash と ps)が表示されます。

② 全プロセスの詳細情報を表示

[suzuki@AlmaLinux ~]$ ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0  1月21 ?      00:00:01 /usr/lib/systemd/systemd
root         2     0  0  1月21 ?      00:00:00 [kthreadd]
root      3685     2  0 00:40 ?        00:00:00 [kworker/0:0]
suzuki    3709  3222  0 00:42 pts/0    00:00:00 ps -ef

💬 UID はユーザー名、PID はプロセスID、PPID は親プロセスIDを意味します。
この形式は、システム全体のプロセスを確認するときによく使われます。

③ ユーザーごとのプロセスを表示

[suzuki@AlmaLinux ~]$ ps -u suzuki
  PID TTY          TIME CMD
 2326 ?        00:00:00 gnome-keyring-d
 3222 pts/0    00:00:00 bash
 3732 pts/0    00:00:00 ps

💬 -u オプションを使うと、指定したユーザーが実行しているプロセスだけを一覧表示できます。

④ 特定のPIDを指定して確認

[suzuki@AlmaLinux ~]$ ps -p 2326
  PID TTY          TIME CMD
 2326 ?        00:00:00 gnome-keyring-d

💬 -p で特定のプロセス(この場合PID=2326)の情報だけを表示します。

⑤ 詳細なロングフォーマットで表示

[suzuki@AlmaLinux ~]$ ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1000  3222  3212  0  80   0 - 29284 do_wai pts/0    00:00:00 bash
0 R  1000  3778  3222  0  80   0 - 38331 -      pts/0    00:00:00 ps

💬 この形式では、優先度(PRI)や状態(S) など、より詳細な情報を確認できます。
S は「Sleep中」、R は「実行中」を意味します。

⚙️ プロセス情報の主な項目

項目意味
PIDプロセスID。各プロセスを一意に識別する番号。
PPID親プロセスID。どのプロセスから起動されたかを示す。
UID実行ユーザーのID。
TTYプロセスが関連する端末。
TIMEプロセスが使用したCPU時間。
CMD実行されたコマンド名。

💬 例えば、bashが親でpsが子の場合、bashのPIDがpsのPPIDとして表示されます。
こうしてプロセスの親子関係を確認できるのもpsコマンドの魅力です。

✅ まとめ

  • psコマンド は、現在実行中のプロセスを確認するための基本コマンド。
  • PID、PPID、CMD などを確認することで、プロセスの親子関係や実行状況を把握できる。
  • -ef, -u, -l, -p などのオプションを組み合わせると、目的に応じて柔軟に情報を取得可能。
  • システム監視やトラブルシューティングに欠かせない重要コマンド。

💬システム状態を把握する第一歩として「ps -ef」での確認が基本です。
 慣れてきたら grep と組み合わせて特定プロセスを絞り込むなど、実践的な使い方に発展させましょう。