Linux Tips

プロセスの親子関係を表示するには

北浦訓行
2003/12/18

 Linuxは動作中の全プログラムをプロセスとして管理する。プロセスは独立して動作するが、「あるプロセスが別のプロセスを起動する」というように、親子関係ができる。

 親子関係にあるプロセスを停止するときは、最初に子プロセス、その次に親プロセスを止める。そうしないと、子プロセスがゾンビプロセス(消滅せずにシステム上に残っているのに動作していないプロセス)として残ってしまう場合がある。従って、killコマンドでプロセスを停止するときは、プロセスの親子関係を考慮する必要がある(親プロセスが停止したときに子プロセスが必ずゾンビプロセスになるとは限らない)。

 プロセスの状態は、psコマンドで調べることが多い。psコマンドでも以下のようにすれば親子関係を表示可能だが、これではちょっと見にくい。

# ps  --forest
  PID TTY          TIME CMD
 3294 pts/0    00:00:00 su
 3295 pts/0    00:00:00 bash
 4096 pts/0    00:00:00  \_ ps ←psがbashから生成されていることが分かる

 そのようなときは、pstreeコマンドを使うと便利だ。オプションを指定しないで実行すると、initを起点としたプロセスが表示される。自分のプロセスだけを表示するには、ユーザーアカウントを指定してpstreeコマンドを実行する。

# pstree
init-+-apmd
     |-atd
(省略)
     |-gdm-binary---gdm-binary-+-X
     |                         `-gdmgreeter
(省略)

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間