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

Linux进程间通信——有名管道

一.概念

函数形式:int mkfifo(const char \*filename,mode_t mode);
功能:创建管道文件
参数:管道文件文件名\路径,权限,创建的文件权限仍然和umask有关系。
返回值:创建成功返回0,创建失败返回-1。

mkfifo(”/home/super/myfifo“,0777);

pwd可以查看当前所在文件路径

1.特点

有名管道
在磁盘上有这样一个文件 ls -l ->p
也是一个伪文件,在磁盘大小永久为0
数据存在内核中有一个对应的缓冲区
半双工通信方式

2.使用场景

没有血缘关系的进程间通信

3.创建方式

命令:mkfifo 管道名
函数:mkfifo

用man 3 mkfifo 查看其头文件

4.fifo文件可以使用io函数进程操作

open/close
read/write
不能执行lseek操作

通过写代码可以看到,我们生成的myfifo文件类型有一个P,这个说明它是一个管道文件类型。

5.有名管道的进程间通信

写一个管道read文件,read文件里建立有名管道myfifo,之后通过open函数读取管道文件里的内容,并且打印出来。

建立wirte文件,往管道里写数据

在一个终端执行read文件,因为此时里面没有内容所以会一直在运行,打开另一个终端,执行write文件,之后read就会打印出写入的字符有11个内容为hello world

http://www.dtcms.com/a/113200.html

相关文章:

  • 【AI论文】基础智能体(Foundation Agents)领域的进展与挑战:从类脑智能到进化型、协作型及安全型系统
  • 数据化管理(二)---寻找零售密码
  • 使用Ubuntu18恢复群晖nas硬盘数据外接usb
  • [自制调试工具]利用模板函数打造通用调试工具
  • 使用OpenFeign实现服务远程调用
  • 数据定义语言
  • 【速写】einops杂记
  • 【数据结构】堆
  • 【KWDB创作者计划】_KaiwuDB 2.1.0 单节点裸机部署
  • 续-算法-数学知识
  • 数据结构【栈和队列附顺序表应用算法】
  • GenerationMixin:generate
  • MIPI与DVP接口摄像头:深度解析与应用指南
  • 素数的判断方法
  • Mysql explain中列的解析
  • SortedSet结构之用户积分实时榜单实战
  • WordPress图标设置插件,免费功能小巧
  • 武装自己的Kali
  • 轨道交通装备三维检测与轻量化设计
  • Cookie、Session、Token、JWT的区别和使用场景
  • 深度测评 | 聚铭下一代智慧安全运营中心如何破解电力行业安全运维难题?
  • C++ 判断字符是否为数字或字母:isalpha、isdigit 和 isalnum 函数详解
  • 【2-8】同步通信与异步通信
  • 数据库性能优化(sql优化)_子查询02_yxy
  • 二十种中药果实识别分类系统,Python/resnet18/pytorch
  • C++_类和对象(下)
  • 无状态版的DHCPv6是不是SLAAC? 笔记250405
  • 【LeetCode Solutions】LeetCode 146 ~ 150 题解
  • JVM深入原理(六)(二):双亲委派机制
  • 元宇宙概念下,UI 设计如何打造沉浸式体验?