C语言 fifo

本文详细解析了命名管道(FIFO)的概念与工作原理,强调其作为一种先进先出队列数据结构,在Linux环境下如何实现任意进程间的通信。通过具体实例展示了如何使用mkfifo函数创建命名管道,以及其在进程间数据交换中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pipe管道由于fork机制只能用于父与子,子与子的进程中间.
fifo又称命名管道(named pipe)可以使任意进程进行通信
之所以称命名管道为fifo是因为本质上是一个先进先出的队列数据结构
fifo是特殊文件类型,有对应路径.实际上由内核管理,不与硬盘打交道.
fifo可以通过文件路径来识别管道,从而使不相关的进程进行通信.

FIFO是Linux基础文件类型中的一种。仅仅用来标识内核中一条通道。各进程可以打开这个文件进行read/write,实际上是在读写内核通道

int mkfifo(const char *pathname, mode_t mode); 成功:0; 失败:-1
int res = mkfifo("/tmp/my_fifo", 0777);
在/tmp文件夹下创建命名管道

参考:
https://www.cnblogs.com/xiaoshiwang/p/10794806.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值