Unixコマンド/ps

ps

dokusiki.fl8.jp転載済み

機能

psコマンドは、現在実行中のプロセスに関する情報を表示します。
引数を何も指定せずに実行すると、psコマンドはそのユーザが起動しているプロセスの情報のみを表示します。
FreeBSDLinuxでは、オプションはハイフン(-)を付けずに指定できますが、Solarisではオプションは-を付けて指定します。

構文

ps [オプション]

オプション(FreeBSDLinux)

a            自分が実行しているプロセス以外のプロセスも全て表示する。
f            プロセスの親子関係をツリー上に表示する。
l            詳細な情報を表示する。
u            プロセスを実行しているユーザ名を表示する。
x            制御端末のないプロセス(デーモンなど)も表示する。
p pid        プロセスIDpidのプロセスの情報のみを表示する。
  • オプション(Solaris)
    -e           すべてのプロセスに関する情報を表示する。
    -f           プロセスを実行しているユーザ名、コマンドのパスや引数など
                 を含む、完全なリストを表示する。
    -l           詳細な情報を表示する
    -p pid       プロセスIDpidのプロセス情報のみを表示する。

psコマンドで表示される情報

PID          プロセスID
TTY          そのプロセスを実行している端末
STAT         プロセス状態(R=実行中、S=sleep中、T=停止中)
TIME         CPU消費時間
COMMAND      コマンド

コマンド例

> 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

Linux

a	自分以外のユーザーのプロセスも表示する
c	task_structに格納されているコマンド名を表示する
e	「実行命令 + 」に環境変数を付加する
f	ツリー形式で表示する
h	ヘッダーを表示しない
j	pgidとsidを表示する
l	標準のPID、TTY、TIME、CMDに加え、F、S、UID、PPID、C、PRI、NI、ADDR、SZ、VSZ、RSS、WCHAN、STATも表示する
m	スレッドも表示する
n	USERとWCHANを数字で表示する
r	実行中のプロセスだけ表示する
s	シグナル形式で表示する
u	ユーザー名と開始時刻を表示する
v	vm 形式で表示する
w	1行追加して表示を拡大する。wを増やすことによって行数をさらに増やせる
x	制御端末のないプロセスの情報も表示する
S	子プロセスのCPU消費時間とページ・フォルトを合計する
txx	tty xxのプロセスのみ表示する
pids	表示するプロセスIDを指定する
USER:プロセスを所有しているユーザのユーザ名。
PID(プロセスID):各プロセスに与えられている一意のプロセス番号。
%CPU:各プロセスのCPUの使用率。CPUを使用した時間をプロセスの実行時間で割った結果のパーセンテージで表示される。
%MEM:プロセスが使用している物理メモリ量。
VSZ:プロセスの仮想メモリサイズ(単位はキロバイト)。
RSS:VSZと似ているが仮想メモリサイズではなく、プロセスが使用しているスワップされていない物理メモリ量(単位はキロバイト)。
TTY:制御端末。
STAT:プロセスの状態。なおSはプロセスがスリープ状態にあり、かつ、すぐにでも実行可能状態になる可能性があることを示し、Nはプロセスの優先度が低いことを示し、<はプロセスの優先度が高いことを示す。その他に注目すべき文字には、l(プロセスがマルチスレッド化されていることを示す)やR(プロセスが実行中であることを示す)などがある。
START:プロセスを起動した時刻。
TIME:累積したCPU時間。プロセスが使用した全CPU時間と、そのプロセスのためにカーネルが使用した全CPU時間の合計。