【Linux】psコマンドの見方・読み方をわかりやすく解説

【Linux】psコマンドの見方・読み方をわかりやすく解説

PR Amazonのアソシエイトとして、ITナレッジライフは適格販売により収入を得ています。

記事の文字数:2,290

Linuxのpsコマンドの実行結果の見方・読み方を解説します。ps auxやps -efで表示される各項目(PID、STAT、%CPUなど)の意味から、プロセス状態(STAT)の詳細まで初心者向けにわかりやすくまとめました。

Linuxユーザにお勧めの本 ↗

最新版

ゼロからはじめるLinuxサーバー構築・運用ガイド 第2版 動かしながら学ぶWebサーバーの作り方

難易度
実用性
最新度

Rocky Linux対応。実際にWebサーバーを公開するまでのプロセスを体験できる、最も確実で実践的なガイドブックです。

初心者向け

わかばちゃんと学ぶ サーバー監視

難易度
実用性
読みやすさ

マンガと図解が中心で圧倒的に読みやすい。負荷調査の手法がスッと理解できるようになります。

新しいLinuxの教科書 第2版

難易度
実用性
読みやすさ

一生モノの基礎知識が身につく定番書です。

ゼロからわかる Linuxコマンド200本ノック―基礎知識と頻出コマンドを無理なく記憶に焼きつけよう!

難易度
実用性
習得度

アウトプット重視で記憶に定着しやすい。反復練習でLinux操作が自由自在になります。

エンジニア1年生のための世界一わかりやすいLinuxコマンドの教科書

難易度
実用性
読みやすさ

LinuxLinux [リナックス / ライナックス]オープンソースのOSカーネルサーバーの運用や開発において、現在実行されているプログラム(プロセス)の状態を確認することは非常に重要です。その際に最もよく使われるのが psコマンド (Process Status)です。

しかし、実行するとたくさんの項目や見慣れないアルファベットが表示され、「どこを見ればいいのかわからない」と悩む方も多いのではないでしょうか。

本記事では、psコマンドの代表的なオプションである ps auxps -ef を例に、出力結果の各項目の見方・読み方を初心者向けにわかりやすく解説します。

1. psコマンドの代表的な使い方

ps コマンド単体で実行すると、現在の端末(ターミナル)で自分が実行しているプロセスのみが表示されます。 システム全体のプロセスを確認する場合は、以下の2つのオプションの組み合わせが定番です。

2. 「ps aux」コマンドの見方

ps aux コマンドを実行した際の出力例と、各項目の意味を解説します。

実行例
$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 168052 11988 ? Ss Aug09 0:02 /sbin/init
user1 1234 1.5 2.0 512400 81920 pts/0 S+ 10:00 0:05 python script.py
項目名意味詳細
USER実行ユーザーそのプロセスを実行しているユーザー名。
PIDプロセスIDプロセスを一意に識別するための番号。(プロセスを強制終了する kill コマンドなどで使用します)
%CPUCPU使用率そのプロセスが使用しているCPUの割合(%)。
%MEMメモリ使用率そのプロセスが使用している物理メモリの割合(%)。
VSZ仮想メモリサイズプロセスが確保している仮想メモリのサイズ(通常はKB単位)。
RSS物理メモリサイズプロセスが実際に使用している物理メモリのサイズ(通常はKB単位)。
TTY端末名プロセスが実行されている端末(ターミナル)。? の場合はデーモンなど端末に紐付かないバックグラウンドプロセスです。
STATプロセスの状態プロセスの現在の状態を表す記号。(※後述の「STAT(プロセス状態)の見方」で詳しく解説します)
START開始時刻プロセスが起動した時刻または日付。
TIME累積CPU時間プロセスが起動してから実際にCPUを使用した累積時間。
COMMANDコマンド名実行されているコマンドとその引数。

3. 「ps -ef」コマンドの見方

次に、ps -ef コマンドを実行した際の出力例と、特有の項目を解説します。

実行例
$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Aug09 ? 00:00:02 /sbin/init
user1 1234 1230 1 10:00 pts/0 00:00:05 python script.py

※上記は説明用の抜粋です。実際にはPID 1230(この例におけるuser1の親プロセス)の行も出力内に存在します。

ps aux と共通する項目(PID、TTY、TIME)を除いた主要項目は以下の通りです。

項目名意味詳細
UIDユーザーIDプロセスを実行しているユーザーの名前(またはID)。
PPID親プロセスIDParent PID。このプロセスを起動した「親」のプロセスID。プロセスツリーを追う際に重要です。
CCPU使用率CPU時間 ÷ プロセス経過時間から算出されたプロセッサ利用率の近似値(整数のパーセンテージ)。
STIME開始時刻プロセスが起動した時刻。
CMDコマンド名実行されているコマンドとその引数。

4. STAT(プロセス状態)の見方

ps aux などで表示される STAT 列には、プロセスの状態を示すアルファベットが表示されます。主に以下の基本状態と、それに付随する追加フラグの組み合わせで構成されています。

基本状態(1文字目)

記号状態名意味
RRunning / Runnable実行中、または実行可能(実行待ち)状態。
SInterruptible Sleep割り込み可能なスリープ状態。入力待ちなどで待機中。大半のプロセスはこの状態です。
DUninterruptible Sleep割り込み不可能なスリープ状態。主にディスクI/Oなどを待っている状態で、強制終了(kill -9)できないことが多いです。
ZZombieゾンビプロセス。実行は終了しているが、親プロセスが終了ステータスを受け取っていない状態。
TStoppedジョブコントロール信号(Ctrl+Zなど)によって一時停止されている状態。
IIdleカーネルスレッドの待機状態。
WPagingページングされている状態。(※古いカーネルのみで、最近の環境ではほぼ見かけません)

追加フラグ(2文字目以降)

基本状態の後に、さらに詳細を示す記号が付くことがあります。

記号意味
<優先度が高い(nice値がマイナス)プロセス。
N優先度が低い(nice値がプラス)プロセス。
sセッションリーダー(他のプロセスの親玉となっているプロセス)。
lマルチスレッドで動作しているプロセス。
+フォアグラウンドのプロセスグループに属しているプロセス(現在画面上で動いているものなど)。

例:Ss 割り込み可能なスリープ状態(S) であり、かつセッションリーダー(s) であることを示します。

例:R+ 実行中または実行待ち状態(R) であり、フォアグラウンドプロセス(+) であることを示します。

まとめ

ps コマンドの結果は一見複雑に見えますが、見るべきポイントを絞ればシステムの状況を正確に把握することができます。

  • リソース(CPU/メモリ)を見たい時: ps aux
  • 親子のプロセス関係(PPID)を見たい時: ps -ef

まずはこの2つのコマンド出力と、PID(プロセスID)STAT(状態)COMMAND(実行コマンド) の見方から覚えていくのがおすすめです。システムトラブル時の調査などにぜひ役立ててください。


以上で本記事の解説を終わります。
よいITライフを!
ITナレッジライフ 運営者
この記事を書いた人

Z (ITナレッジライフ)

現役のITエンジニア。Linux、プログラミング、IT用語など、日々の業務で得た「痒いところに手が届く」技術情報を発信しています。

プロフィールと編集ポリシーを見る

Linuxユーザにお勧めの本 ↗

最新版

ゼロからはじめるLinuxサーバー構築・運用ガイド 第2版 動かしながら学ぶWebサーバーの作り方

難易度
実用性
最新度

Rocky Linux対応。実際にWebサーバーを公開するまでのプロセスを体験できる、最も確実で実践的なガイドブックです。

人気記事


記事を評価

Thanks!
目次
Scroll to Top