====== ps ====== ===== 機能 ===== psコマンドは、現在実行中のプロセスに関する情報を表示します。\\ 引数を何も指定せずに実行すると、psコマンドはそのユーザが起動しているプロセスの情報のみを表示します。\\ FreeBSDやLinuxでは、オプションはハイフン(-)を付けずに指定できますが、Solarisではオプションは-を付けて指定します。\\ ===== 構文 ===== ps [オプション] ====== オプション ====== ==== オプション(FreeBSD・Linux) ==== ^ オプション ^ 意味 ^ |a|自分が実行しているプロセス以外のプロセスも全て表示する。| |f|プロセスの親子関係をツリー上に表示する。| |l|詳細な情報を表示する。| |u|プロセスを実行しているユーザ名を表示する。| |x|制御端末のないプロセス(デーモンなど)も表示する。| |p pid|プロセスIDpidのプロセスの情報のみを表示する。| |o format|出力フォーマットを指定する。| === 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| ==== オプション(Solaris) ==== ^ オプション ^ 意味 ^ |-e|すべてのプロセスに関する情報を表示する。| |-f|プロセスを実行しているユーザ名、コマンドのパスや引数などを含む、完全なリストを表示する。| |-l|詳細な情報を表示する| |-p pid|プロセスIDpidのプロセス情報のみを表示する。| ====== psコマンドで表示される情報 ====== ===== 各カラムの説明 ===== ^ 項目 ^ 意味 ^ |USER|プロセスを所有しているユーザのユーザ名。| |PID|プロセスID| |%CPU|各プロセスのCPUの使用率。 \\ CPUを使用した時間をプロセスの実行時間で割った結果のパーセンテージで表示される。| |%MEM|プロセスが使用している物理メモリ量。| |VSZ|プロセスの仮想メモリサイズ(単位はキロバイト)。| |RSS|VSZと似ているが仮想メモリサイズではなく、 \\ プロセスが使用しているスワップされていない物理メモリ量(単位はキロバイト)。| |TTY|そのプロセスを実行している端末| |STAT|プロセス状態(R=実行中、S=sleep中、T=停止中)| |START|プロセスを起動した時刻。| |TIME|CPU消費時間 \\ プロセスが使用した全CPU時間と、そのプロセスのためにカーネルが使用した全CPU時間の合計。| |COMMAND|コマンド| ==== STATの説明 ==== === STAT1文字目 === ^D|割り込み不可能なスリープ状態 (通常 IO 状態で停止中)| ^S|プロセスがスリープ状態かつ、すぐにでも実行可能状態になる可能性がある| ^R|(プロセスが実行中であることを示す)| ^T|ジョブ制御シグナルまたはトレースされているために停止中の状態| ^X|死んだ状態 (見えるべきではない)| ^Z|終了したが、親プロセスによって回収されなかった、消滅した (ゾンビ)プロセス| === STAT2文字目 === ステータス文字 意味 ^>|優先度の高いプロセス (他のユーザーに対して良くない)| ^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 {{tag>Unixコマンド ジョブ・タスク管理}}