当前位置: 首页 > article >正文

Linux中FIFO管道

介绍:

FIFO被称为命名管道,pipe只能用于有血缘关系的进程间通信,但通过FIFO,不相关的进程也可以进程间通信。

FIFO是linux基础文件类型的一种(文件类型为p),FIFO文件在磁盘上没有数据块,文件大小为0,仅仅表示内核中一条通道。进程可以打开这个文件进行read/write

创建FIFO管道:

  • 方式一:使用命令mkfifo  如:mkfifo 管道名
  • 方式二:使用函数 int mkfifo(const char*pathname,mode_t mode);

注意:FIFO严格遵循先进先出,对FIFO的读总是从开始处返回数据,对他们写则是把数据添加到末尾。他们不支持lseek(),等文件定位操作

操作:

这是fifo_write.c文件,创建myfifo管道文件,并写入数据。

access函数可以判断文件是否存在,返回值为零则存在。

注意:这个sleep(10)是让这个写进程不结束,如果写进程比读进程提前结束,读进程会读不到内容,一直阻塞。

 

这是fifo_write.c文件,执行读进程。 


http://www.kler.cn/a/234884.html

相关文章:

  • 代码随想录day23 | leetcode 39.组合总和 40.组合总和II 131.分割回文串
  • 分布式协同 - 分布式事务_TCC解决方案
  • 推挽输出和开漏输出
  • SQL 插入数据详解
  • 【LeetCode】394、字符串解码
  • Autosar入门_架构(Architecture)
  • 第六篇【传奇开心果系列】Vant of Vue 开发移动应用示例:深度解析响应式布局支持
  • acwing14期周赛---------安排时间(贪心+枚举)
  • STM32控制JQ8400语音播报模块
  • JavaScript 设计模式之外观模式
  • CSS盒子的概念
  • 《UE5_C++多人TPS完整教程》学习笔记8 ——《P9 访问 Steam(Acessing Steam)》
  • 2021年通信工程师初级 实务 真题
  • 刘谦春晚魔术的数学原理
  • 【开源】SpringBoot框架开发个人健康管理系统
  • 介绍 HTTPS 中间人攻击
  • 26.篮球练习
  • Android编程权威指南(第四版)- 第 4 章 UI状态的保存与恢复
  • 【WPF.NET开发】优化性能:其他建议
  • fast.ai 机器学习笔记(三)
  • 【开源】JAVA+Vue.js实现森林火灾预警系统
  • Rhino.Inside带材质将Revit模型bake到Rhino
  • 使用 FFmpeg 将视频转换为 GIF 动画的技巧
  • kafka教程
  • JavaWeb后端开发(第一期):Maven基础、Maven的安装配置、如何创建maven项目模块、maven的生命周期
  • 链表:反转链表