ps コマンドは、システム上で実行中の プロセス情報を一覧表示 するコマンドです。
静的なスナップショットを取得するため、リアルタイム監視には top や htop と併用されます。
構文(Syntax)
ps [オプション]
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
| (なし) | カレントシェルのプロセスを表示 | ps |
-e または -A | 全プロセスを表示 | ps -e |
-f | フルフォーマットで表示 | ps -f |
-u USER | 特定ユーザーのプロセスを表示 | ps -u alice |
-p PID | 指定した PID のプロセスを表示 | ps -p 1234 |
-o FORMAT | 表示フォーマットを指定 | ps -o pid,comm,%cpu,%mem |
-x | 制御端末を持たないプロセスも表示 | ps -x |
-U USER | 実効ユーザーIDで絞り込み | ps -U root |
-C COMMAND | コマンド名で絞り込み | ps -C sshd |
--forest | プロセスの階層をツリー表示 | ps -ef --forest |
※ オプションには UNIX系(BSD形式) と System V系 の違いがあり、Linux では両方が混在しています。
実行例
カレントシェルのプロセスを表示
ps
出力例:
PID TTY TIME CMD
5678 pts/0 00:00:00 bash
7890 pts/0 00:00:00 ps
全プロセスをフル表示
ps -ef
出力例:
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 08:00 ? 00:00:05 systemd
alice 1234 1200 2 09:00 pts/0 00:01:10 firefox
alice 5678 1234 0 09:10 pts/0 00:00:00 ps -ef
特定ユーザーのプロセスを表示
ps -u alice
特定の PID を表示
ps -p 1234
出力例:
PID TTY TIME CMD
1234 ? 00:01:10 firefox
CPU・メモリ使用率を表示
ps -eo pid,comm,%cpu,%mem --sort=-%cpu | head -5
プロセスツリー表示
ps -ef --forest
出力例(抜粋):
systemd─┬─sshd───sshd───bash───ps
└─nginx───nginx
エラー例(存在しない PID)
ps -p 99999
出力例:
PID TTY TIME CMD
(該当なしで空出力)
関連コマンド
top: プロセスを動的に監視htop:topの改良版でインタラクティブ操作が可能pgrep: 名前でプロセス検索pkill: 名前でプロセスを終了
備考
psのオプションは BSD系(例:ps aux) と System V系(例:ps -ef) で異なりますが、Linux では両方が使えます。psは一瞬の状態を表示するため、動的な監視にはtopやhtopを使う方が便利です。- スクリプトでプロセス監視をする際には
ps -Cやpgrepがよく使われます。
参考
- manページ: man7.org ps(1)
- procfs: https://man7.org/linux/man-pages/man5/proc.5.html

コメント