psコマンドの実行結果って、直感ではわからない項目があったりしますよね。。
この記事では、psコマンドの実行結果で、それぞれの列が何を意味しているのかをまとめます。
全てのプロセスを表示する、下記psコマンドの実行結果を対象に解説します(恐らく一番よく使うオプション指定だと思うので)。 

■全てのプロセスを表示するpsコマンド
ps -ely
ps axu ←BSD系OSの場合はこちら。その他のOSの場合はps -elyを使ってください(理由は、場合によっては異なる解釈でコマンドが実行されることがあるためです)。
 
psコマンド実行結果
見出し指定子意味
S、STATsプロセスの状態。D→I/O待ちのスリープ、R→実行中、S→イベントの完了を待っている割り込み可能なスリープ、T→シグナル等による停止、W→ページング、Z→ゾンビ
BSD系の場合、次のフラグが付加される <→優先度が高い、N→優先度が低い、L→ページ(メモリ)がロックされている(主にリアルタイムOS)、s→セッションリーダー、l→スレッド、+→フォアグラウンドプロセスグループ
UIDuidユーザID
USERuserユーザ名
PIDpidプロセスID
PPIDppid親プロセスのプロセスID
CcCPU使用率
PRIpri優先度。数値が高いほど優先度が低い。
NIninice値。-20〜19の値。優先度が低いと数値が高い
RSSrssスワップされていない、使用済みの物理メモリ量(kbyte)
SZsz使用している物理メモリ量
WCHANwchanスリープしているカーネルの関数名
TTYtname制御している端末
TIMEtimeプロセスが開始してからの累積CPU時間
CMDcmd実行コマンド
VSZvsz仮想メモリ量

表にある指定子は、ps -eo オプション指定時に使います。
ps -eoオプションを使うと、psコマンドの実行結果をカスタマイズでき、見たい情報だけを出力することができます(ps -elyで出力されない列も表示させることができる)。

例)ユーザIDと、プロセスIDと、親プロセスIDと、実行コマンドを出力したい場合。
ps -eo user,pid,ppid,cmd

今回の記事はここまでですが、
この他にもpsコマンドは沢山の情報を出力できますので、
もし興味があれば、man psでマニュアルを読んでみると良いと思います。

※なお、本記事はpsコマンドの以下バージョンに基づいています。
procps-ng version 3.3.9
 
スポンサードリンク