読み方 : こプロセス

子プロセス【child process】

概要

子プロセスとは、コンピュータ上で実行中のプロセスがオペレーティングシステム(OS)の機能を通じて新たに生成・起動した別のプロセスのこと。生成元となったプロセスを「親プロセス」(parent process)と呼ぶ。子プロセスは起動後、親から独立して実行され、親子関係によってプロセスは階層構造を形成する。
子プロセスのイメージ画像

ここでいう「プロセス」(process)とは、実行中のプログラムをOSが管理する単位である。各プロセスは固有の「プロセスID」(PID)を持ち、専用のメモリ空間、変数などの内部状態、CPUの実行コンテキストをそれぞれ独立して保持する。同一のプログラムであっても、複数起動すればそれぞれ別個のプロセスとして扱われる。

任意のプロセスは、OSの機能を呼び出すシステムコールを用いて新たに子プロセスを生成することができる。生成された子プロセスには固有のPIDが与えられ、親のPIDと関連付けられる。起動時には親のメモリ空間が複製された専用の領域が与えられるほか、ファイルディスクリプタや環境変数なども親から引き継がれる。

生成の具体的な方式はOSによって異なる。LinuxなどのUNIX系OSでは、親プロセスを複製するfork()システムコールが用いられ、その後、exec()系のシステムコールで別のプログラムに置き換えることで、親とは異なる処理を子プロセスに実行させることができる。現代の実装では「コピーオンライト」(CoW:Copy-on-Write)方式によりメモリ複製の効率化が図られている。Windowsではこれに相当する操作をCreateProcess()関数が担う。

起動後の子プロセスは親から独立してスケジューリングされ、CPUや資源の管理もOSによって個別に行われる。子プロセスが終了するまで親プロセスが待機する場合と、親子が並行して動作する場合がある。一つの親が複数の子プロセスを生成することができ、子プロセス自身がさらに子プロセスを生成することもできる。この連鎖によってプロセスはツリー構造を形成する。Webブラウザが複数タブの描画処理を分担させる場合や、Webサーバが同時接続を並行処理する場合など、子プロセスの仕組みは様々な場面で活用されている。

(2026.6.22更新)
 

他の辞典等による「子プロセス」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。