宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)

このページでは プロセスの親子関係を一目で把握するコマンドを使えますか? の操作方法について解説します。

【この記事でわかること】
・ps --forest オプションでプロセスの親子関係をASCIIアート風のツリー表示できる
・pstree コマンドでも同様のツリー表示ができ、より見やすい形式で確認できる
・PPID を辿ることでプロセスの起動経路を手動で追跡することもできる
・fork して生成された子プロセスが親プロセスから派生している様子を視覚的に確認できる

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

プロセスの親子関係を表示させるには、psコマンドに
オプション「-f」を付けて実行します。

親子関係にあるプロセスは、階層表示されます。

[root@Tiger ~]# ps -axf
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:00 init [3]
    2 ?        S<     0:00 [migration/0]
    3 ?        SN     0:00 [ksoftirqd/0]
    4 ?        S<     0:00 [watchdog/0]
    5 ?        S<     0:00 [events/0]
    6 ?        S<     0:00 [khelper]
    7 ?        S<     0:00 [kthread]
   10 ?        S<     0:00  \_ [kblockd/0]
   11 ?        S<     0:00  \_ [kacpid]
   68 ?        S<     0:00  \_ [cqueue/0]
   71 ?        S<     0:00  \_ [khubd]
   73 ?        S<     0:00  \_ [kseriod]
  136 ?        S      0:00  \_ [pdflush]
  137 ?        S      0:00  \_ [pdflush]
  138 ?        S<     0:00  \_ [kswapd0]
  139 ?        S<     0:00  \_ [aio/0]
  297 ?        S<     0:00  \_ [kpsmoused]
  321 ?        S<     0:00  \_ [ata/0]
  322 ?        S<     0:00  \_ [ata_aux]
  327 ?        S<     0:00  \_ [kstriped]
  336 ?        S<     0:00  \_ [ksnapd]
  347 ?        S<     0:00  \_ [kjournald]
  369 ?        S<     0:00  \_ [kauditd]
 1001 ?        S<     0:00  \_ [kgameportd]
 1131 ?        S<     0:00  \_ [kmpathd/0]
 1132 ?        S<     0:00  \_ [kmpath_handlerd]
 1154 ?        S<     0:00  \_ [kjournald]
 1648 ?        Ss     0:00 /usr/sbin/sshd
 2074 ?        Ss     0:00  \_ sshd: pakira [priv]
 2076 ?        R      0:00      \_ sshd: pakira@pts/0
 2077 pts/0    Ss     0:00          \_ -bash
 2105 pts/0    S      0:00              \_ su -
 2106 pts/0    S      0:00                  \_ -bash
 2149 pts/0    R+     0:00                      \_ ps -axf
 1663 ?        Ss     0:00 xinetd -stayalive -pidfile /var/run/xinetd.pid

(省略)

 2065 ?        S      0:00  \_ /usr/local/apache2/bin/httpd -k start -DSSL
 2002 ?        S      0:00 /usr/sbin/smartd -q never
 2005 tty1     Ss+    0:00 /sbin/mingetty tty1
 2006 tty2     Ss+    0:00 /sbin/mingetty tty2
 2007 tty3     Ss+    0:00 /sbin/mingetty tty3
 2008 tty4     Ss+    0:00 /sbin/mingetty tty4
 2009 tty5     Ss+    0:00 /sbin/mingetty tty5
 2030 tty6     Ss+    0:00 /sbin/mingetty tty6


※デーモンプロセス(制御端末を持たないプロセス)も表示させるため、
 オプション「-x」を付けて実行しています。

デーモンプロセスの表示についてはこちらを確認してください。

■ 表示される情報
PID:プロセスごとに自動的に割り当てられる番号
TTY:プロセスを実行している制御端末
STAT:状態
  ・第1フィールド
    R:実行可能
    T:停止中かトレース中
    D:休眠中で割り込み不可
    S:休眠中
    Z:ゾンビ(削除されていないが停止中)
  ・第2フィールド
    W:スワップアウト(常駐ページなし)
  ・第3フィールド
    N:正のナイス値
TIME:CPU消費時間
COMMAND:実行コマンド

psコマンドの詳細はこちら

プロセスの親子関係を一目で把握するコマンドを使えますか?

ps --forest や pstree でプロセスの起動経路を視覚的に確認できると、デーモンの管理やゾンビプロセスの原因追跡が格段にしやすくなります。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。