Linux でプロセスを最初から作成して「フォーク」してみませんか?

Linux でプロセスを最初から作成して「フォーク」してみませんか?

Linux では、「init」を作成するようにプロセスを最初から作成するのではなく、分岐の方法で「フォーク」を作成するのはなぜですか?

答え1

プロセスの大部分は、コンテキスト (開いているファイル、現在のディレクトリ、環境変数など) を共有する連携セットの一部として作成され、新しいプロセスのコンテキストの調整は、そのプロセスが作成された目的に非常に特化しているため、親プロセスを双子にして、新しいプロセスで実行されているコードに必要な変更を加えてからexecve次の処理を実行するのが最も簡単です。

クリーンスレートプロセスはごく少数派例外、ルールではありません。

関連情報