
新Linux入門|psコマンドとは:Linuxで学ぶプロセスの確認と管理の基本
Linuxシステムを管理していると、「今どんなプログラムが動いているの?」という状況を知りたい場面がよくありますよね。
そんなときに活躍するのが ps(Process Status)コマンド です!
psコマンドは、現在実行中のプロセスを一覧表示して、プロセスの状態・実行ユーザー・CPU使用率などを確認できるとても便利なコマンドです💡
システム監視やトラブルシューティングには欠かせない基本コマンドの1つです。

⚙️ psコマンドの概要
ps(Process Status)コマンドは、LinuxやUNIX系OSで実行中のプロセス情報を表示するためのコマンドです。
どのプログラムがどんな状態で動いているのかを調べたり、停止中や暴走中のプロセスを確認したりするのに使われます。
| 項目 | 内容 |
|---|---|
| コマンド名 | ps(Process Status) |
| 主な目的 | 実行中のプロセスの状態を表示・監視する。 |
| よく使われる場面 | プロセスの監視、トラブル調査、リソース確認 |
| 出力項目例 | PID(プロセスID)、TTY、CPU使用時間、コマンド名など |
💬ポイント
psは「プロセスのスナップショット」を表示するコマンドです。
リアルタイム表示が必要な場合は、top コマンドを併用するのがオススメです。
🧭 psコマンドの書式
ps [オプション]オプションの組み合わせによって、
「特定のユーザーのプロセスだけ表示する」「全プロセスを詳細に表示する」といった指定ができます。
⚙️ 主なオプションと説明
| オプション | 説明 |
|---|---|
| -e | システム上で実行中のすべてのプロセスを表示 |
| -f | 詳細(フル)フォーマットで表示(親子関係も表示される) |
| -l | ロングフォーマットでプロセスの詳細情報を表示 |
| -a | すべての端末で実行中のプロセスを表示 |
| -u | ユーザー名やCPU・メモリ使用率などの詳細を含めて表示 |
| -p | 特定のプロセスID(PID)に関する情報を表示 |
| aux | BSD形式で全プロセスを表示(ユーザー別、CPU使用率など) |
💡ポイント
オプションはよく組み合わせて使われます。
たとえば、ps -ef は「全プロセスを詳細付きで表示」という最も一般的な使い方です。
🔍 使用例と出力の解説
① 基本の使用例(自分のシェル内のプロセスを表示)
[suzuki@AlmaLinux ~]$ ps
PID TTY TIME CMD
2170 pts/0 00:00:00 bash
2212 pts/0 00:00:00 ps💬ポイント
現在のターミナル(TTY)上で動いているプロセス(bashとps自身)が表示されます。
PID(プロセスID)をもとに、プロセスを特定できます。
② 全プロセスの詳細を表示(-ef)
[suzuki@AlmaLinux ~]$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 09:00 ? 00:00:02 systemd
root 1180 1 0 09:01 ? 00:00:00 sshd: suzuki@pts/0
suzuki 2170 1180 0 09:02 pts/0 00:00:00 -bash
suzuki 2234 2170 0 09:03 pts/0 00:00:00 ps -ef| 列名 | 意味 |
|---|---|
| UID | 実行ユーザー名 |
| PID | プロセスID(識別番号) |
| PPID | 親プロセスID(どのプロセスが作ったか) |
| C | CPU使用率 |
| STIME | プロセスの開始時刻 |
| TTY | 端末名(?は端末非関連) |
| TIME | CPU使用時間 |
| CMD | 実行コマンド名 |
💬ポイント
この出力では、systemd が最初に起動し、その子プロセスとして sshd → bash → ps が順に生成されているのがわかります。
まさに プロセスの親子関係ツリー が見える瞬間です👀
③ 特定ユーザーのプロセスを確認(-u)
[suzuki@AlmaLinux ~]$ ps -u suzuki
PID TTY TIME CMD
2170 pts/0 00:00:00 bash
2234 pts/0 00:00:00 ps💬ポイント
ユーザーsuzuki が実行しているプロセスだけを表示します。
マルチユーザー環境で、他のユーザーと区別して自分のプロセスを確認するときに便利です。
④ 特定のPIDを指定して情報を表示(-p)
[suzuki@AlmaLinux ~]$ ps -p 2170
PID TTY TIME CMD
2170 pts/0 00:00:00 bash💬ポイント
PID 2170 のプロセス(bash)のみが表示されます。
特定のプロセスの動作確認や状態チェックを行う際に使用します。
⑤ ロングフォーマットで表示(-l)
[suzuki@AlmaLinux ~]$ ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 1000 2170 2100 0 80 0 - 29284 do_wai pts/0 00:00:00 bash
0 R 1000 2245 2170 0 80 0 - 38331 - pts/0 00:00:00 ps| 列名 | 意味 |
|---|---|
| F | フラグ(プロセスの状態を表す) |
| S | 状態(R:実行中、S:スリープ中など) |
| UID | 実行ユーザーID |
| PRI | 優先度(Priority) |
| NI | nice値(優先度の調整値) |
| SZ | メモリ使用量(ページ単位) |
| CMD | 実行コマンド名 |
💬ポイント
ロングフォーマット(-l)はプロセスの内部状態を詳しく見るのに最適です。
システム解析やトラブル調査時に役立ちます。
📊 ps -aux と ps -ef の違い
| 形式 | 説明 | 特徴 |
|---|---|---|
| ps -ef | System V形式(AlmaLinux標準) | PID・PPIDなど親子関係を確認しやすい |
| ps aux | BSD形式 | CPU・メモリ使用率を見やすく表示 |
💬ポイント
両者は出力形式が異なりますが、どちらも全プロセスの確認に使えます。
習慣的に ps -ef を使う管理者が多いです。
🌈 まとめ
- psコマンドは、Linuxで実行中のプロセスを確認するための基本ツール。
- ps -ef や ps -u suzuki など、オプションを組み合わせることで柔軟に情報を取得できる。
- システムの状態把握・トラブル調査・プロセス制御の第一歩として欠かせない存在。
次回は、「topコマンドでリアルタイム監視する方法」 を学んで、
プロセス管理のスキルをさらにレベルアップしましょう🚀
