Provided by: manpages-ru_0.98-4_all bug

ИМЯ

       fifo  - специальный файл типа очередь (first-in first-out), именованный
       канал

ОПИСАНИЕ

       Специальный файл FIFO (именованный канал) похож на канал (pipe), за тем
       исключением, что он доступен как часть файловой системы.  Он может быть
       открыт несколькими процессами для чтения  или  записи.  Когда  процессы
       обмениваются  данными через FIFO, ядро передает данные непосредственно,
       без промежуточного сохранения их  в  файле  на  диске.  Таким  образом,
       специальный  файл  FIFO  не  ссылается  на какие-либо данные в файловой
       системе, а является просто ссылкой, чтобы процессы могли иметь доступ к
       каналу, пользуясь именем файла.

       Ядро  создает  в  точности один объект "канал" для каждого специального
       файла FIFO, который открыт  по  меньшей  мере  одним  процессом.   FIFO
       должен быть открыт с обоих концов (для чтения и для записи), прежде чем
       начать передачу данных.  Обычно открытие FIFO блокируется до  тех  пор,
       когда другой конец также не будет открыт (***).

       Процесс  может  открыть  FIFO  в  неблокирующем  режиме.  В этом случае
       открытие только для чтения будет успешным даже если никто еще не открыл
       файл  для  записи  с  другого  конца;  открытие для записи завершится с
       ошибкой ENXIO (нет такого устройства или адреса), если другой конец еще
       не открыт.

       Под  Linux  открытие  FIFO для чтения и записи завершится успешно как в
       блокирующем,  так  и  в  неблокирующем  режимах.  POSIX  не  регулирует
       поведение  в  данном случае. Это может быть использовано, чтобы открыть
       FIFO для записи,  пока  еще  некому  его  прочитать.  Процесс,  который
       использует  оба  конца связи, чтобы общаться с самим собой, должен быть
       очень осторожен, чтобы избежать мертвой блокировки.

ПРИМЕЧАНИЕ

       Когда процесс пытается писать в FIFO, который не открыт  для  чтения  с
       другой стороны, процессу посылается сигнал SIGPIPE.

       Специальные  файлы  FIFO  могут  быть  созданы  командой  mkfifo(3),  и
       особенным образом отображаются в выводе команды ls -l.

СМОТРИ ТАКЖЕ

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