システムインタフェース

名前付きパイプ

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

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

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