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