私は、2つの子と親の間の通信のためにパイプを作成するシナリオを持っています。親は(書き込み関数を使用して)データをパイプに書き込み、それぞれのファイル記述子を閉じます。問題は、パイプにデータを再度書きたいとき、書き込み関数がエラーコード-1を返すときです。私はそれが前の反復で終わっているので、そのと思う。次に、対応するファイル記述子が一度閉じられた後でそれを開く方法。閉じたファイル記述子を再オープンする方法
私はいくつかのファイルのパスを引数として必要とするopen()関数を使用しようとしました。しかし、私は自分のアプリケーションでファイルを使用していません。私は単純なファイル記述子を持っています(int arr [2])。
パイプで上記のシナリオを達成できますか?
として知られているstdoutとstderrです。したがって、子プロセスでは、入力を継続して待機します。しかし、私はストリームに限られた回数だけ書き込み、パイプのもう一方の端で並行して読み込みたいと思います。 – chaitu
@chaitu:書き込み終了を閉じないと、読み込み終了にファイルの終わりが表示されない。これは、子供にもっとメッセージを送る場合には、メッセージの終わりを示すためにファイルの終わり以外のものを使う必要があることを意味します(通常、固定長のメッセージを使用して、それです)。 – caf