首页/新闻资讯/正文详情

IPC 进程间通信:无名管道与有名管道详解

发布时间:2026/11/11 0:27:13 来源:云帆数科 栏目:资讯中心
IPC 进程间通信:无名管道与有名管道详解
1. 为什么需要 IPC每个进程都有自己独立的虚拟地址空间一个进程无法直接访问另一个进程的内存。但实际开发中进程之间经常需要共享数据或交换信息例如父进程把任务分发给子进程子进程把结果回传给父进程多个进程协作处理同一份数据一个进程负责采集数据另一个进程负责计算或落盘。这种「进程之间传递数据、同步状态」的机制统称为IPCInter-Process Communication进程间通信。2. IPC 的常见种类古老的通信方式无名管道pipe、有名管道FIFO、信号signalSystem V / POSIX IPC共享内存、消息队列、信号量集网络通信socket既能本机通信也能跨主机通信。本文重点梳理管道这一类也就是无名管道和有名管道。3. 无名管道pipe无名管道 》pipe 》只能给有亲缘关系进程通信管道的特性1、管道是 半双工的工作模式 实际编程使用会当单工使用。2、所有的管道都是特殊的文件不支持定位操作。lseek- fd fseek -FILE*3、管道是特殊文件读写(首选)使用文件IO open,read,write,close; 可选(标准io带缓存区)fgets,fread,fgetc,编程顺序创建管道 》fork–读写管道 》关闭管道读端与写端1,读端存在一直向管道中去写超过64k写会阻塞 写段写的太快2,写端是存在的读管道如果管道为空的话读会阻塞。 读段读的太快3,管道破裂读端关闭写管道会导致写段退出4, read 0 ,写端关闭如果管道没有内容read 0 进程间通信结创建无名管道函数int pipe(int pipefd[2]);功能创建并打开一个无名管道参数pipefd[0] 无名管道的固定读端pipefd[1] 无名管道的固定返回值成功 0失败 -1代码示例4. 有名管道FIFO4.1 为什么需要有名管道无名管道只能用于亲缘进程一旦两个进程毫无关系比如两个独立启动的程序就无法共享同一个管道。有名管道在文件系统中有一个路径名任何进程只要知道这个路径就能打开它进行通信。4.2 特点在文件系统中以特殊文件形式存在用 ls -l 可以看到类型为 p可以用于任意进程之间通信不要求亲缘关系数据同样存在于内核缓冲区进程退出后数据消失依然是单向的需要双向通信时通常创建两个 FIFO打开 FIFO 时读端和写端会互相阻塞等待对方打开除非使用 O_NONBLOCK。有名管道 》fifo 》可以给任意单机进程通信 .有文件名称的管道。文件系统中可见和无名管道特性一致。 额外的 如果有一端没有打开则默认在open函数部分阻塞编程步骤 创建有名管道 》打开有名管道 》读写管道》关闭管道 》卸载有名管道有名管道的函数int mkfifo(const char *pathname, mode_t mode);功能在指定的pathname路径名称下创建一个权限为mode的有名管道文件。参数pathname要创建的有名管道路径名称mode 8进制文件权限。返回值成功 0失败-1有名管道间传输png文件代码示例1.读端代码2.写端代码5. 无名管道与有名管道对比对比项无名管道 pipe有名管道 FIFO是否有名字无有存在于文件系统适用进程仅亲缘进程任意进程创建方式pipe()mkfifo() 或 mkfifo命令数据存储内核缓冲区内核缓冲区通信方向单向单向生命周期随进程关闭而消失文件节点保留需手动删除无名管道适合父子进程之间简单、临时的数据传递使用简单但受限于亲缘关系有名管道通过文件系统路径解耦了进程关系适合两个独立程序之间的通信两者都是单向字节流需要双向通信时要成对使用或者考虑 socketpair、共享内存等方案。

相关推荐

超立方体Ramsey(openai/math 家族181)H11-D146~D149|超立方体Ramsey形式化审计:全局视界界、近查询指数包络与Consultation局部交集运输
超立方体Ramsey(openai/math 家族181)H11-D146~D149|超立方体Ramsey形式化审计:全局视界界、近查询指数包络与Consultation局部交集运输

超立方体Ramsey(openai/math 家族181)H11-D146~D149|超立方体Ramsey形式化审计:全局视界界、近查询指数包络与Consultation局部交集运输 专栏:ER-03 攻坚日志|Valhalla-MathBounty-Forge 版本:v… · 2026/11/11 0:27:12

专为DeepSeek Harness 打造的开源“破甲“插件
专为DeepSeek Harness 打造的开源“破甲“插件

文章目录 一、先把话说明白 二、它到底解决了什么问题 它明确划出的使用边界 三、核心心智模型:五层,各管一件事 三个必须记住的推论 四、生命周期:装 → 应用 → 重开 什么时候需要再点一次「应用」 一个容易被忽略的红线 五、安装:三条路,别走错 5.1 三种方式怎么选 5.2… · 2026/11/11 0:27:10

程序化工具调用:Agent 一次请求跑完几百个工具,省的是什么
程序化工具调用:Agent 一次请求跑完几百个工具,省的是什么

程序化工具调用:Agent 一次请求跑完几百个工具,省的是什么原文:Factory Research - 《Droid 1.0: Building a Frontier Harness》(https://factory.com/news/frontier-harness)一、先说结论:省的不是钱&… · 2026/11/5 20:06:36

电工证怎么考事业郑州报考避坑指南
电工证怎么考事业郑州报考避坑指南

电工证怎么考事业郑州报考避坑指南 不知道去哪报名怕被中介坑?你不是一个人。我之前在鹤壁做煤矿电工,转岗到建筑工地做电工时,也是被中介忽悠了一把,花了冤枉钱还白忙活。别急,今天我就用亲身经历告诉你, 电工证怎么考事业 ,尤其是在郑州,怎么… · 2026/11/11 0:26:42

电工证复审这么麻烦 良心建议全在这篇了
电工证复审这么麻烦 良心建议全在这篇了

电工证复审这么麻烦 良心建议全在这篇了 之前考的证在外省能不能转过来?这个问题其实很多人都问过,而且背后隐藏的焦虑就是: 电工证复审这么麻烦… · 2026/11/11 0:26:42

宜丰办电工证没学历也能报?上岗必备的电工证怎么拿?
宜丰办电工证没学历也能报?上岗必备的电工证怎么拿?

宜丰办电工证没学历也能报?上岗必备的电工证怎么拿? 你是不是也担心自己学历不够,连 宜丰办电工证 都报不了?别慌,今天咱们就来聊聊这个事。别看有些人学历低,照样能拿到电工证,关键是看你怎么准备。电工证作为 上岗必备… · 2026/11/11 0:26:42

如皋港考电工证实操考试怕挂科?官方报名入口教你避坑
如皋港考电工证实操考试怕挂科?官方报名入口教你避坑

如皋港考电工证实操考试怕挂科?官方报名入口教你避坑 实操考试心里没底怕挂科?你不是一个人。很多人第一次报考电工证,最怕的就是实操考试,觉得自己动手能力不行,一紧张就容易出错。其实,只要你准备到位,掌握好流程,考过也不是难事。本文就从【如皋港… · 2026/11/11 0:26:42

武汉电工证中天教育考前押题怎么选才靠谱
武汉电工证中天教育考前押题怎么选才靠谱

武汉电工证中天教育考前押题怎么选才靠谱 怕考不过白交培训费?武汉电工证中天教育学员最怕的就是交了钱,考试还是挂,白忙一场。不过,只要你选对了 考前押题… · 2026/11/11 0:26:42

电工证2018改革后怎么准备实操考试?上岗必备技能全攻略
电工证2018改革后怎么准备实操考试?上岗必备技能全攻略

电工证2018改革后怎么准备实操考试?上岗必备技能全攻略 实操考试心里没底怕挂科?这可能是很多准备报考电工证的学员最真实的心理状态。尤其是2018年改革之后,考试内容和流程发生了不少变化,让不少新手摸不着头脑。电工证作为上岗必备的资质之一,… · 2026/11/11 0:25:42

电工证丢失还能补吗?千万别踩坑,丢了证等于失业
电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/10 2:16:10

电力电缆作业证直播报名入口与办理流程良心建议
电力电缆作业证直播报名入口与办理流程良心建议

电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/10 17:46:39

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/10 17:11:43

_中职电工证最新政策解读
_中职电工证最新政策解读

中职电工证在哪考?工地太忙根本没时间复习考试的救星来了 工地太忙根本没时间复习考试,这是很多正在备考 中职电工证 的建筑工友的真实写照。你不是不想考,而是真的没时间。但别担心,这期内容是 新乡初次报考人员… · 2026/11/11 0:00:52

昆明电工证培训价格值不值得考?老电工告诉你真相
昆明电工证培训价格值不值得考?老电工告诉你真相

昆明电工证培训价格值不值得考?老电工告诉你真相 之前考的证在外省能不能转过来?这个问题是很多在外地打工、换城市生活、或者是想在昆明发展的朋友最关心的。尤其是现在云南发展快,很多企业都在招持证上岗的电工,如果你手头有证但不在本地,那这个证是不… · 2026/11/11 0:00:52

特种电缆张工网上查询全攻略:外省证如何转过来
特种电缆张工网上查询全攻略:外省证如何转过来

特种电缆张工网上查询全攻略:外省证如何转过来 之前考的证在外省能不能转过来?这是很多特种作业从业者最关心的问题,尤其是像特种电缆张工这类证书,直接关系到日常工作是否合规、能否顺利晋升。很多小伙伴因为证书归属地的问题,陷入职业发展的瓶颈,甚至… · 2026/11/11 0:00:52

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 20:19:29

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 19:22:45

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 17:00:47

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码