非エンジニアのエンジニア道

非エンジニアからエンジニアに転向!その勉強の軌跡を載せていきます。

Linuxコマンド ps

実行中のプロセスを表示する。
プロセスとはプログラムが動作している最小の単位

すべてのプロセスを詳細表示

ps aux
  • a 他のユーザーが実行しているプロセスも表示
  • u 開始時刻と実行ユーザ名を表示
  • x 制御端末のないプロセスの情報も表示

表示項目の詳細

項目名 内容
USER プロセスを所有しているユーザーの名前
PID 各プロセスに割り当てられている一意のID
%CPU CPUの使用率(%)
%MEM 物理メモリ量
VSZ 仮想メモリサイズ(キロバイト)
RSS 物理メモリサイズ(キロバイト)
TTY 制御端末(ない場合は?)
STAT 状態
START 起動時刻
TIME 累積したCPU時間
COMMAND 実行しているコマンド

STATの詳細

記号 内容
D 割り込み不可能のスリープ状態
R 実行中または実行可能状態
S 割り込み可能なスリープ状態
T 停止またはトレース中
W ページング状態
X 死んだ状態
Z ゾンビプロセス
  • スリープ状態
    • イベントかリソースを待っている状態
  • 割り込み可能な待機中のプロセス
    • シグナルによって割り込みをかけるもの
  • 割り込み不可な待機中のプロセス
    • 直接ハードウェアの状態に依存するかたちで待機しているため、どのような状況でも割り込みを掛けられないもの。

STATの添え字

記号 内容
優先度の高いプロセス
N 優先度の低いプロセス
L 実メモリのページをロックして利用している
s セッションリーダー
l マルチスレッド化されている
+ フォアグラウンドのプロセスグループに含まれている

シグナル

プロセス間で連絡を取り合うための仕組み