次のことを考慮してください。
- 子を持つ親プロセス
- 子はexecシステムコールを使用して別のプログラムを実行します
- 双方向パイプを介して通信する親と子(残りはMAINPIPEという名前)
- 子はポート(例:5000)にバインドされているサーバーです
私のプログラムは次のように機能するはずです。
子供がクライアントから特定のメッセージを受信した場合は、親への別の双方向パイプを作成し、情報を送受信します。
問題は:
子にパイプを作成し(を使用pipe()
)、ファイル記述子を親に渡すと(MAINPIPEを使用)、パイプから読み取ろうとすると、親に「不正なファイル記述子」エラーメッセージが表示されます。
何か案が?
編集:
彼ら、
私の問題は、子プロセスで作成された新しいパイプのファイル記述子を親に渡さないことです。MAINPIPEを使用してすでにそれを行っています。
しかし、問題は次のとおりです。親は新しいパイプから読み取ることができません。このエラーメッセージ「不正なファイル記述子」が表示されます。ファイル記述子は親プロセスで閉じられているようです。