Provided by: manpages-ja_0.5.0.0.20131015+dfsg-2_all bug

名前

       fifo - 先入先出特殊ファイル、名前付きパイプ

説明

       FIFO   特殊ファイル(名前付きパイプ)はパイプに似ているが、  ファイルシステムの一部に関連付けられている点が
       異っている。 複数のプロセスが読み込みや書き込みのためにオープンすること ができる。プロセスが FIFO  を通し
       データを交換する場合、   実際にそれをファイルシステムには書き込まず、カーネルは全ての  データを内部的に渡
       す。このように、FIFO 特殊ファイルはファイルシステム  上には内容を持たないので、ファイルシステムのエントリ
       は  プロセスがそのファイルシステム上の名前を使用してそのパイプに アクセスできるように参照ポイントを提供し
       ているに過ぎない。

       カーネルは、少なくとも一つのプロセスによってオープンされている FIFO  特殊ファイルについて、それぞれ一つの
       パイプのみを管理している。  データが渡される前にその FIFO の両端(書き込みと読み出し)がオープン されていな
       ければならない。通常、FIFO をオープンすると、 その反対側がオープンされるまで停止(block)させられる。

       プロセスは FIFO を非停止(nonblocking)モードでオープンすることもできる。  この場合、読み込み専用でオープン
       した場合には書き込み側を誰もオープン していなくても成功する。書き込み専用でオープンした場合は反対側が既に
       オープンされていなければ ENXIO (そのようなデバイスまたはアドレスは存在しない)  というエラーで失敗する。

       Linux  では、FIFO   を読み込みと書き込み両用にオープンした場合、   停止、非停止のどちらのモードでも成功す
       る。POSIX  ではこの場合の 動作は定義されていない。これは読み込み側がいない時に書き込み用に オープンするた
       めに使用することができる。自分自身と通信するために 両端を使用するプロセスはデッドロックを避けるために非常
       に注意深く なければならない。

注意

       プロセスが、反対の読み込み側がオープンされていない FIFO を 書き込みのためにオープンしようとした場合、その
       プロセスに SIGPIPE シグナルが送られる。

       FIFO 特殊ファイルは mkfifo(3)  で作成することができ、 ls -l ではファイル種別 'p' で表示される。

関連項目

       mkfifo(1), open(2), pipe(2), sigaction(2), signal(2), socketpair(2), mkfifo(3), pipe(7)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 3.54 の一部 である。プロジェクトの説明とバグ報告
       に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。