- ベストアンサー
UNIX_Cにおける「名前つきパイプ(FIFO)」のcloseとunlinkについて教えてください
親プロセスと子プロセスで、「名前つきパイプ(FIFO)」を用いて、インターフェースを行う場合。 closeとunlinkで処理を終了させたいのですが、open時に一つのFIFOにつきreadとwriteの二つのIDが得られます。この二つのIDで必ず各々closeをしなくてはならないのか?または、一つのIDで一回closeを行えばよいのか? 回答をお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
それぞれ二つのファイルハンドルを close する必要があります。 ただ、プロセスの終了時に close 処理が行われますので、プロセス間通信をするふたつのプロセスが ずーっと活きているのではない(子プロセスの標準出力を親が取得する程度(*))のであれば、 あまり気にする必要はありません。 (*) この場合には、親の方で dup() した直後に write の方のハンドルは close しているはずですよね?