プログラミングインタフェース

名前付きパイプ

名前付きパイプは、パイプとほぼ同じように機能しますが、名前の付いた実体としてファイルシステムに作成されます。こうすると、フォークによって関係付けられた任意のプロセスでパイプを無条件に開くことができます。名前付きパイプは、mknod(2) の呼び出しによって作成されます。その後、適当なアクセス権を持つ任意のプロセスで、名前付きパイプの読み取りと書き込みを実行できます。

open(2) の呼び出しでは、パイプを開くプロセスは、もう 1 つのプロセスもパイプを開くまでブロックします。

ブロックせずに名前付きパイプを開くには、open(2) を呼び出すときに、(sys/fcntl.h にある) O_NDELAY マスクと選択したファイルモードマスクの論理和を取ります。open(2) を呼び出したときにほかのどのプロセスもパイプと接続していない場合は、errnoEWOULDBLOCK が設定され -1 が返されます。