親プロセス

読み:おやプロセス
外語:parent process 英語
品詞:名詞

あるプロセスを起動したプロセス。一方、起動されたプロセスを子プロセスという。

目次

UNIXのプロセスは、起動したプロセス/起動されたプロセスという親子関係があり、OSのカーネルが直接起動したものを除く全てのプロセスには親プロセスが存在する。

あるプロセスで、その親プロセスのプロセスIDを知りたい場合は、getppid(2)システムコールを使う。

UNIX

古典的なUNIXでは、カーネルは起動するとinitプロセスを起動し、initプロセスが様々な初期化を行なう。従って古典的なUNIXでは、すべてのプロセスの祖先はinitである。

従って、カーネルから直接起動されるinitには親プロセスが無く、親プロセスのPID(PPID)は0である。なお、他のカーネルの場合は、仕様が異なることもある。

Linux

Linuxカーネルの場合、起動処理で、2つのカーネルスレッド(kernel_initとkthreadd)が起動される。

kernel_initはinitプロセスを実行する機能を持ち、古典的なUNIXと同様にプロセスIDは1である。

kthreaddはカーネルスレッド生成を行なうカーネルスレッドであり、プロセスIDは2となる。

いずれもカーネルが直接起動するため、この二つのみ、親プロセスが存在しない。

Linuxカーネルからは、カーネルスレッドもプロセスのように見え、カーネルスレッドもユーザー空間のプロセスと同様にスケジューリングされるため、ps(1)コマンドで表示される。ここで表示されるカーネルスレッドは、親プロセスがkthreaddとなる。

用語の所属
プロセス
関連する用語
プロセスID
UNIX
init
子プロセス

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club