psコマンドは、現在実行中のプロセスに関する情報を表示します。
引数を何も指定せずに実行すると、psコマンドはそのユーザが起動しているプロセスの情報のみを表示します。
FreeBSDやLinuxでは、オプションはハイフン(-)を付けずに指定できますが、Solarisではオプションは-を付けて指定します。
ps [オプション]
| オプション | 意味 |
|---|---|
| a | 自分が実行しているプロセス以外のプロセスも全て表示する。 |
| f | プロセスの親子関係をツリー上に表示する。 |
| l | 詳細な情報を表示する。 |
| u | プロセスを実行しているユーザ名を表示する。 |
| x | 制御端末のないプロセス(デーモンなど)も表示する。 |
| p pid | プロセスIDpidのプロセスの情報のみを表示する。 |
| o format | 出力フォーマットを指定する。 |
| KEY | LONG | DESCRIPTION |
|---|---|---|
| c | cmd | simple name of executable |
| C | pcpu | cpu utilization |
| f | flags | flags as in long format F field |
| g | pgrp | process group ID |
| G | tpgid | controlling tty process group ID |
| j | cutime | cumulative user time |
| J | cstime | cumulative system time |
| k | utime | user time |
| m | min_flt | number of minor page faults |
| M | maj_flt | number of major page faults |
| n | cmin_flt | cumulative minor page faults |
| N | cmaj_flt | cumulative major page faults |
| o | session | session ID |
| p | pid | process ID |
| P | ppid | parent process ID |
| r | rss | resident set size |
| R | resident | resident pages |
| s | size | memory size in kilobytes |
| S | share | amount of shared pages |
| t | tty | the device number of the controlling tty |
| T | start_time | time process was started |
| U | uid | user ID number |
| u | user | user name |
| v | vsize | total VM size in kB |
| y | priority | kernel scheduling priority |
| オプション | 意味 |
|---|---|
| -e | すべてのプロセスに関する情報を表示する。 |
| -f | プロセスを実行しているユーザ名、コマンドのパスや引数などを含む、完全なリストを表示する。 |
| -l | 詳細な情報を表示する |
| -p pid | プロセスIDpidのプロセス情報のみを表示する。 |
| 項目 | 意味 |
|---|---|
| USER | プロセスを所有しているユーザのユーザ名。 |
| PID | プロセスID |
| %CPU | 各プロセスのCPUの使用率。 CPUを使用した時間をプロセスの実行時間で割った結果のパーセンテージで表示される。 |
| %MEM | プロセスが使用している物理メモリ量。 |
| VSZ | プロセスの仮想メモリサイズ(単位はキロバイト)。 |
| RSS | VSZと似ているが仮想メモリサイズではなく、 プロセスが使用しているスワップされていない物理メモリ量(単位はキロバイト)。 |
| TTY | そのプロセスを実行している端末 |
| STAT | プロセス状態(R=実行中、S=sleep中、T=停止中) |
| START | プロセスを起動した時刻。 |
| TIME | CPU消費時間 プロセスが使用した全CPU時間と、そのプロセスのためにカーネルが使用した全CPU時間の合計。 |
| COMMAND | コマンド |
| D | 割り込み不可能なスリープ状態 (通常 IO 状態で停止中) |
|---|---|
| S | プロセスがスリープ状態かつ、すぐにでも実行可能状態になる可能性がある |
| R | (プロセスが実行中であることを示す) |
| T | ジョブ制御シグナルまたはトレースされているために停止中の状態 |
| X | 死んだ状態 (見えるべきではない) |
| Z | 終了したが、親プロセスによって回収されなかった、消滅した (ゾンビ)プロセス |
ステータス文字 意味
| > | 優先度の高いプロセス (他のユーザーに対して良くない) |
|---|---|
| N | 優先度の低いプロセス (他のユーザーに対して良い) |
| L | 実メモリのページをロックして利用している (リアルタイム処理やカスタム IO向け) |
| s | セッションリーダ |
| l | マルチスレッド化されている (NPTL pthreads が行うように、CLONE_THREAD が使 われている) |
| + | フォアグラウンドのプロセスグループに含まれている |
> ps 自分が起動したプロセスのみが表示する。 PID TTY STAT TIME COMMAND 323 p0 S 0:00 -csh 自分が起動したプロセスのみが表示される 404 p0 R 0:00 ps > ps a その他の端末から起動されたプロセスも表示する。 PID TTY STAT TIME COMMAND 246 2 S 0:00 /sbin/mingetty tty2 端末tty2に対して起動しているプロセス 247 3 S 0:00 /sbin/mingetty tty3 321 1 S 0:00 /sbin/mingetty tty1 323 p0 S 0:00 -csh 405 p0 R 0:00 ps a
こうすると、プロセスの起動時間を確認できる
# ps ax -o pid,lstart,cmd | grep sshd 5875 Thu Jun 6 10:01:54 2013 grep sshd 7885 Thu Apr 12 13:31:26 2012 /usr/sbin/sshd 18083 Thu Jun 6 08:33:05 2013 sshd: root@pts/41
# ps axwf -o user,pid,pmem,pcpu,state,lstart,cmd | grep ssh root 8779 0.0 0.0 S Tue Aug 30 15:11:35 2016 /usr/sbin/sshd root 16253 0.3 0.0 S Tue Nov 15 11:48:32 2016 \_ sshd: matsui [priv] matsui 16255 0.1 0.0 S Tue Nov 15 11:48:33 2016 \_ sshd: matsui@pts/8