• ベストアンサー

UNIX_Cにおける「名前つきパイプ(FIFO)」のcloseとunlinkについて教えてください

親プロセスと子プロセスで、「名前つきパイプ(FIFO)」を用いて、インターフェースを行う場合。 closeとunlinkで処理を終了させたいのですが、open時に一つのFIFOにつきreadとwriteの二つのIDが得られます。この二つのIDで必ず各々closeをしなくてはならないのか?または、一つのIDで一回closeを行えばよいのか? 回答をお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

それぞれ二つのファイルハンドルを close する必要があります。 ただ、プロセスの終了時に close 処理が行われますので、プロセス間通信をするふたつのプロセスが ずーっと活きているのではない(子プロセスの標準出力を親が取得する程度(*))のであれば、 あまり気にする必要はありません。   (*) この場合には、親の方で dup() した直後に write の方のハンドルは close しているはずですよね?

関連するQ&A