ps – 実行中のプロセスを表示するコマンド

一覧・詳細

ps コマンドは、システム上で実行中の プロセス情報を一覧表示 するコマンドです。
静的なスナップショットを取得するため、リアルタイム監視には tophtop と併用されます。

構文(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 auxSystem V系(例: ps -ef で異なりますが、Linux では両方が使えます。
  • ps は一瞬の状態を表示するため、動的な監視には tophtop を使う方が便利です。
  • スクリプトでプロセス監視をする際には ps -Cpgrep がよく使われます。

参考

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント