Linux – ps コマンドの使い方を詳しく解説

目次

概要

ps コマンドは、現在実行中のプロセスの情報を表示するために使用されます。本記事では、その基本的な使い方から、よく使われるオプションについて詳しく解説します。

ps コマンド

ps コマンドは、Unix 系オペレーティングシステムで動作しているプロセスを表示するためのコマンドです。

$ ps
    PID TTY          TIME CMD
 106992 pts/6    00:00:00 bash
 108558 pts/6    00:00:00 ps

オプション

オプションの指定方法

オプションの指定方法は UNIX オプション、BSD オプション、GNU ロングオプションの 3 通りがあります。

  • BSD スタイルオプション

    BSD スタイルのオプションは、ハイフンなしでアルファベット 1 文字で指定します。 複数のオプションは結合して指定できます。

    ps aux
  • POSIX スタイルオプション

    POSIX スタイルのオプションは、- のあとにアルファベット 1 文字で指定します。 複数のオプションは - のあとに結合して指定できます。

    ps -ef
  • GNU スタイルロングオプション

    GNU スタイルのオプションは、--option という形で指定します。

    ps --forest

プロセスの表示対象を指定する

プロセスの表示対象は、表示範囲と必要に応じてフィルタリングを行うことで指定できます。

プロセスの表示対象を指定するオプションを記載します:

コマンド スタイル 内容
-A, -e POSIX 全てのプロセスを表示
-d POSIX 全てのプロセスを表示 (セッションリーダーは除く)
a BSD 端末に関連付けられている全てのプロセスを表示 (他のユーザーも含む)
-a POSIX 端末に関連付けられている全てのプロセスを表示 (セッションリーダーは除く)
x BSD 端末に関連付けられていないプロセスも表示
T BSD この端末に関連付けられている全てのプロセスを表示
r BSD 実行中のプロセスのみを表示
  • セッション:
    • セッションとは、ユーザーがシェルを通じて Linux システムと対話するための一連の操作を指します。
  • セッション ID:
    • セッション ID (Session ID) は、特定のセッションを一意に識別するための識別子です。
  • セッションリーダー:
    • セッションリーダーとは、セッションを開始したプロセスのことです。通常、これはシェルです。
    • セッションリーダーは、セッション内で生成されたすべてのプロセスの親プロセスであり、そのセッションの制御を担当します。
  • 端末に関連付けられるプロセス
    • ターミナルから直接起動されたプロセスのことです。これらのプロセスは、端末の子プロセスとして機能し、親プロセスであるシェルによって管理されます。

表示結果をフィルタリングする

プロセスの表示対象を指定するオプションを記載します:

オプション スタイル 意味
-p, p, --pid <PID> POSIX, BSD, GNU long プロセス ID
-q, q, --quick-pid <PID> BSD, GNU long プロセス ID (高速モード)
--ppid <PID> GNU long 親プロセス ID
-s, --sid <session> POSIX, GNU long セッション ID
-U, --User <UID> BSD, GNU long 実ユーザーの ID または名前
-u, U, --user <UID> BSD, GNU long 実効ユーザーの ID または名前
-G, --Group <GID> BSD, GNU long 実グループの ID または名前
-g, --group <group> BSD, GNU long 実効グループの ID または名前
-t, t, --tty <tty> BSD, GNU long ターミナル
-C <command> POSIX コマンド名
S, --cumulative BSD, GNU long 終了した子プロセスを含む
-N, --deselect POSIX 選択したプロセス以外を表示 (上記と併用)
  • UID や名前を複数指定する場合、カンマ区切りか (例: -u root,nobody) または空白区切り (例: -u root nobody) で指定できます。

  • 実ユーザー (Real User):
    プロセスを開始した元のユーザーです。

  • 実グループ (Real Group):
    プロセスを開始した元のグループです。通常、ユーザーが所属している 1 次なグループがこれにあたります。
  • 実効ユーザー (Effective User):
    プロセスが実行時に用いるユーザーです。setuid ビットなどが設定されている場合、この値は実ユーザーとは異なるユーザーでプロセスが動作する場合に使われます。
  • 実効グループ (Effective Group):
    プロセスが実行時に用いるグループです。setgid ビットが設定された場合に、実グループとは異なるグループでプロセスが動作する場合に使われます。

特定のユーザーのプロセスを表示

このコマンドは、指定したユーザーのプロセスのみを表示します。

ps -u <username>

特定のプロセスに関する情報を表示

このコマンドは、指定したプロセス ID の情報を表示します。

ps -p <PID>

スレッドを表示する

オプション 説明
H プロセスのようにに表示
-m, m プロセスの後に表示
-L LWPNLWP 列を追加 (-T と併用不可)
-T SPID 列が追加 (-L と併用不可)
  • LWP (Light Weight Process): LWP は、スレッドを識別するための識別子です。プロセス内の各スレッドが個別の LWP ID を持ちます。
  • NLWP (Number of Light Weight Processes): NLWP は、そのプロセスが持つスレッド (LWP) の総数を示します。
  • SPID: SPID は、スレッドを識別するための識別子です。

表示形式を指定する

オプション

表示するカラムを指定するオプションを記載します:

オプション カラムの種類 ・説明
-F UID PID PPID C STIME TTY TIME CMD
-f UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
l F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
-l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
-j PID PGID SID TTY TIME CMD
j PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
s UID PID PENDING BLOCKED IGNORED CAUGHT STAT TTY TIME COMMAND
u USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
v PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND
X PID STACKP ESP EIP TMOUT ALARM STAT TTY TIME COMMAND
-O <format> PID <format> S TTY TIME COMMAND
O <format> PID <format> S TTY TIME COMMAND
-o, o, --format <format> <format>
f, --forest プロセス階層を表示
-H プロセス階層を表示
--headers ヘッダー行を 1 ページに 1 行表示する
h, --no-headers ヘッダーを表示しない
-y フラグを表示せず、rss を表示 (-l と併用)
-c スケジューリングクラスを表示 (-l と併用)
n UID、GID を数値で表示
c 実際のコマンド名を表示
e コマンドの後に環境変数を表示

表示する幅、高さを指定するオプションを記載します:

オプション 説明
--cols, --columns, --width <num> 画面の幅を設定
--rows, --lines <num> 画面の高さを設定
-w, w 出力幅を無制限にする

プロセスツリーを表示

このコマンドは、プロセスの親子関係をツリー形式で表示します。

$ ps f
    PID TTY          TIME CMD
 235882 pts/0    00:00:00 bash
 238951 pts/0    00:00:00  \_ ps
   1443 pts/0    00:00:00 sh
   1981 pts/0    00:15:27  \_ jupyter-lab

その他

オプション 説明
k, --sort <column> ソート順を指定
L フォーマット指定子を表示

コメント

コメントする

目次