[Unix] ps – 実行中のプロセスを一覧表示する

よく使う割に使いこなせていないので再勉強。

まずは –help で指定可能なオプションを確認。

自分のプロセスを表示する。

l オプションを付けるとロング形式で表示される。

良く使われるのは aux オプション。全ユーザが実行しているプロセスを表示する。

  • a – 端末を持つ全てのプロセスを表示する
  • x – 端末を持たない全てのプロセスを表示する
  • u – ユーザー指向のフォーマット(読みやすさ優先)で表示する

-L オプションを指定すればスレッドを表示できる。

grepで絞る代わりに -C オプションでコマンド指定すればヘッダが表示できる。

カラムの意味

  • F – プロセスの状態(16進表記)
    00- 終了
    01 – システム上の常駐プロセス
    02 – 親プロセスからトレースされている
    04 – 親プロセスからトレースされている状態で停止している
    08 – 起動不可能
    10 – プロセスがメモリ上にありイベント終了までロックされている
    20- スワップ不可能
  • PID – プロセスのID番号
  • PPID – 親プロセスのID番号
  • S – プロセスの状態表示
  • STAT – 複数文字によるプロセスの状態表示
    ▼1文字目
    R – 実行中/実行可能な状態
    S – スリープ状態
    D – スリープ状態(割り込み不可) (ディスク待ちが多い)
    T – 停止またはトレース中(シェルでCtrl+Zキーで停止している時など)
    Z – ゾンビプロセス(終了しているのにメモリに残ってしまっているプロセス)
    ▼2文字目以降
    + – フォアグラウンドのプロセスグループ
    s – セッションリーダー
    < – 優先度が高いプロセス
    N – 優先度が低いプロセス
    l – マルチスレッドのプロセス
  • %CPU – CPUの使用率 (CPU利用時間/実際の時間)
  • %MEM – メモリの使用量 (プロセスが確保している物理メモリを百分率で表示)
  • VSZ(Virtual Set Size) – プロセスが確保した仮想メモリ領域のサイズ (KB)
  • RSS(Resident Set Size) – プロセスが確保した物理メモリ領域のサイズ (KB)
  • TIME – CPUの累積使用時間
  • STARTED – コマンドが起動した時刻
  • NI – nice値(プロセスの優先順位)範囲は-20~19で、19が優先度が一番高い
  • COMMAND – コマンド名
  • TT – 制御端末(tty)
  • UID – 実効ユーザーのID番号
  • USER – 実効ユーザーの名前
  • GID – 実効グループのID番号
  • GROUP – 実効グループの名前
  • LWP – 軽量プロセスもしくはスレッドのID
  • NLWP – 総スレッド数

参考サイト

Man page of PS
http://linuxjm.osdn.jp/html/procps/man1/ps.1.html

【 ps 】コマンド――実行中のプロセスを一覧表示する:Linux基本コマンドTips(6) – @IT
https://www.atmarkit.co.jp/ait/articles/1603/28/news022.html

psコマンドで表示される内容について調べた – Qiita
https://qiita.com/toshihirock/items/565fe71d778d3ee36b96

psコマンドまとめ – Qiita
https://qiita.com/shell/items/68ed71a7f018e5688f73

psコマンドでスレッドを表示させたり、スレッドごとのCPU使用率を確認する – 元RX-7乗りの適当な日々
https://www.na3.jp/entry/20101219/p1

30 Useful ‘ps Command’ Examples for Linux Process Monitoring
https://www.tecmint.com/ps-command-examples-for-linux-process-monitoring/