fork() を使用した Linux 上の複数プロセス実装プログラムの場合、親プロセスと子プロセス間の通信には socketpair() が使用されます。
上記のシナリオで、プロセス間で補助データを送信することの用途は何ですか? socketpair() は、すでに親と子の間の双方向通信を提供しています。2 つの子プロセス間でファイル記述子を共有することですか?
明確にするために、
- socketpair() 接続されたソケットを使用していつでもペイロードをやり取りできるのに、補助データの受け渡しが必要なのはなぜですか? ユースケースのシナリオは何ですか?
- 親で pipe() または socketpair() を作成し、フォークして子プロセスを作成できます。その後、親と子は、作成されたファイル記述子を介して通信できます。補助データ (UNIX ソケット経由) は、2つの子プロセス間の通信に役立ちますか?