Provided by: manpages-zh_1.5.2-1_all bug

NAME

       fifo - 先进先出的特殊文件, 又名管道

描述 (DESCRIPTION)
       一个  FIFO  特殊  文件 (又名 管道) 同 管道线 相似, 但是 它是 作为 文件 系统 的 一部分 访问的. 可以 有 多个 进程
       打开它 以供 读写. 当 进程 通过 FIFO 交换 数据 的时候, 内核 在内部 传送 所有 数据 而 不会 把它  写入  文件  系统,
       也就是说  FIFO 特殊 文件 在 文件 系统 中 没有 任何 内容, 文件 系统 项 只是 作为  进程 可以 用 文件 系统 中的 一个
       名字 来 访问 管道 的 一个 参照点.

       内核 会 为 至少 有 一个 进程 打开 了的 FIFO 特殊 文件 维护 并且 也只 维护 一个 管道 对象. 在 数据  传给  FIFO
       之前, FIFO 的 两端 (读 和 写) 必须 同时 打开.  一般 来说 打开 FIFO 会 阻塞 直至 另一端 也 打开.

       一个  进程  可以 以 非阻塞 模式 打开 一个 FIFO. 这种 情况下, 即使 写端 没有 打开, 打开 读端 还是 会 成功, 但是,
       如果 读端 没有 打开, 打开 写端 会 失败, 并且 得到 一个 ENXIO (设备 或 地址 不存在).

       在 Linux 下, 不管 是 阻塞 还是 非阻塞 模式, 打开 一个 FIFO 用作 读 和 写 都会 成功. POSIX 关于 这种 情况
       没有  定义. 这个 可以 用来 在 读端 没有 打开 的 情况 下 打开 写端. 一个 进程 在 同时 用 FIFO 的 两端 来 和 自己
       通信 的 时候 要 特别 注意 以防 死锁.

注意 (NOTES)
       当 一个 进程 企图 向 读端 没有 打开 的 FIFO 写 数据 的 时候, 进程 会 收到 一个 SIGPIPE 信号. FIFO  特殊
       文件 可以 用 mkfifo(3) 来 创建 并且 ls -l 会 给它 一个 特殊 的 标记.

参见 (SEE ALSO)
       mkfifo(3),   mkfifo(1),  pipe(2),  socketpair(2),  open(2),  signal(2),
       sigaction(2)

[中文版维护人]
       唐友 <tony_ty@263.net>

[中文版最新更新]
       2001/10/9

[中国Linux论坛man手册页翻译计划]
       http://cmpp.linuxforum.net