有名管道fifo

Posted 阿龙亡命天涯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有名管道fifo相关的知识,希望对你有一定的参考价值。

1. 概述

管道,由于没有名字,只能用于亲缘关系的进程间通信。为了克服这个缺点,提出了命名管道(FIFO),也叫有名管道、FIFO文件。
命名管道(FIFO)不同于无名管道之处在于它提供了一个路径名与之关联,以 FIFO 的文件形式存在于文件系统中,这样,即使与 FIFO 的创建进程不存在亲缘关系的进程,只要可以访问该路径,就能够彼此通过 FIFO 相互通信,因此,通过 FIFO 不相关的进程也能交换数据。
命名管道(FIFO)和无名管道(pipe)有一些特点是相同的,不一样的地方在于:

  1. FIFO 在文件系统中作为一个特殊的文件而存在,但 FIFO 中的内容却存放在内存中。
  2. 当使用 FIFO 的进程退出后,FIFO 文件将继续保存在文件系统中以便以后使用。
  3. FIFO 有名字,不相关的进程可以通过打开命名管道进行通信。

2.创建有名管道

2.1 命令

2.2 函数



3.有名管道的读写


unlink()函数功能即为删除文件。执行unlink()函数会删除所给参数指定的文件。

写管道:
close(fd);
读管道:



若此时没有写端的,那么会在打开时阻塞!

以上是关于有名管道fifo的主要内容,如果未能解决你的问题,请参考以下文章

有名管道fifo

linux 有名管道(FIFO)

IPC通信_有名管道(FIFO)

linux 有名管道(FIFO)

c_cpp Linux下IPC通信之有名管道fifo示例

进程间通信->有名管道