psコマンドの使い方

ps
  PID TTY          TIME CMD
 3132 pts/1    00:00:00 su
 3133 pts/1    00:00:00 bash
 3954 pts/1    00:00:00 ps

こんな感じのものが表示される

基本的には aux オプションを付けて使うので ps 単体で使うことはあまりない

a

allの略
デフォルトでは自分のプロセスしか表示されないが
aオプションをつけるとすべてのユーザのプロセスが表示される

u

各プロセスの実行ユーザやCPU使用率、メモリ使用率などの詳細データが表示される

x

端末を持たないデーモンなどのプロセスも表示

f

関連するプロセスをツリー上にまとめる

ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1 190912  2636 ?        Ss   16:52   0:03 /usr/lib/systemd/systemd --switched-root --system
root         2  0.0  0.0      0     0 ?        S    16:52   0:00 [kthreadd]
root         4  0.0  0.0      0     0 ?        S<   16:52   0:00 [kworker/0:0H]
root         6  0.0  0.0      0     0 ?        S    16:52   0:01 [ksoftirqd/0]
root         7  0.0  0.0      0     0 ?        S    16:52   0:00 [migration/0]

関連するプロセスをツリー上にまとめて見やすくする

ps auxf
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         2  0.0  0.0      0     0 ?        S    16:52   0:00 [kthreadd]
root         4  0.0  0.0      0     0 ?        S<   16:52   0:00  \_ [kworker/0:0H]
root         6  0.0  0.0      0     0 ?        S    16:52   0:01  \_ [ksoftirqd/0]
root         7  0.0  0.0      0     0 ?        S    16:52   0:00  \_ [migration/0]
root         8  0.0  0.0      0     0 ?        S    16:52   0:00  \_ [rcu_bh]

[kthreadd]の下に
[kworker/0:0H]などのプロセスがぶら下がっていることがわかる

ps auxf | grep -e php-fpm -e PID

ps auxf | grep php-fpm
このコマンドだと、見出し行がカットされてしまうので
どの項目が何の値なのか分からない

ps auxf | grep -e php-fpm -e PID
grepで-eオプションをつけると複数の条件でOR検索できる
PIDを含む行も表示することで、お目当てのプロセス(php-fpm)に加えて見出し行を出力できる

実行結果
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         758  0.0  1.0 513104 40804 ?        Ss   14:18   0:00 php-fpm: master process (/etc/opt/kusanagi/php-fpm.conf)
httpd        918  0.3  5.2 996080 198348 ?       S    14:18   0:52  \_ php-fpm: pool www
httpd        919  0.2  5.2 992836 195100 ?       S    14:18   0:37  \_ php-fpm: pool www
httpd        920  0.2  5.1 992808 193636 ?       S    14:18   0:36  \_ php-fpm: pool www
httpd        921  0.2  5.2 995528 197772 ?       S    14:18   0:35  \_ php-fpm: pool www
httpd       2386  0.3  4.6 619144 174616 ?       S    15:23   0:36  \_ php-fpm: pool www
httpd       2388  0.2  4.8 629428 183140 ?       R    15:23   0:24  \_ php-fpm: pool www
httpd       2389  0.1  5.3 997268 199740 ?       R    15:23   0:13  \_ php-fpm: pool www
httpd       2392  0.3  5.2 996132 197372 ?       S    15:23   0:37  \_ php-fpm: pool www
httpd       2393  0.2  5.1 993464 192696 ?       S    15:23   0:20  \_ php-fpm: pool www
httpd       2394  0.3  4.8 625748 182592 ?       R    15:23   0:32  \_ php-fpm: pool www
httpd       2395  0.2  4.7 626132 179412 ?       R    15:23   0:26  \_ php-fpm: pool www
httpd       2400  0.2  4.8 622468 180244 ?       S    15:23   0:27  \_ php-fpm: pool www
httpd       2401  0.1  4.7 621904 176764 ?       S    15:23   0:16  \_ php-fpm: pool www
httpd       2402  0.3  4.8 622792 180528 ?       S    15:23   0:32  \_ php-fpm: pool www
httpd       2403  0.1  4.7 620840 177680 ?       S    15:23   0:16  \_ php-fpm: pool www
  • USER: プロセスを実行しているユーザー
  • PID: プロセスID
  • %CPU: CPU使用率
  • %MEM: 実メモリ使用率
  • VSZ: 仮想メモリを含めたメモリの使用サイズ(単位はKB)
  • RSS: 実メモリの使用サイズ(単位はKB)
  • TTY: 端末名
  • STAT: プロセスのstate(状態)
  • START: プロセスが開始した時刻
  • TIME: プロセスが起動してからの経過時間
  • COMMAND: プロセスが実行しているコマンド

STATの詳細

1文字目
  • R: 実行状態または実行可能状態(実行キューにある)
  • S: 割り込み可能なスリープ状態
  • D: 割り込み不可能なスリープ状態(ディスクの入出力待ちなど)
  • T: 停止中
  • Z: すでに実態がないゾンビプロセス
  • W: ページング状態(実メモリ上にはなく、仮想メモリにスワップアウトしたもの)
2文字目
  • 最終更新: 2023/05/26 18:06