質問
execlを使用して親からプログラムを実行しようとしています。通常のパイプのセットアップとフォークを行います。ここにトリックがあります...すべての親と通信するために私の子供(任意の数の子供がいる可能性があります)が必要です。
プログラム" A" (親)パイプフォークとexeclを「B」に作成します; (子)。プログラムBのmain()関数では、パイプを読み書きできる必要があります。
Excelが子プロセスを引き継いで実行した後、子プロセスのパイプファイル記述子にアクセスする方法はありますか?
ありがとう、 〜エリック
解決
execl(3)
は1つの例外を除き、ファイル記述子には影響しません
fcntl(2)
でファイル記述子close-on-execをマークすることは可能ですが、一般的に execve(2)
のさまざまなフレーバーは効果がありませんファイル記述子を開き、子で開いたままにします。
他のヒント
BeejのUnixプロセス間通信ガイドを読む( にあります) http://beej.us/guide/ )、特にセクション4。
所属していません StackOverflow