- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux环境进程间通信(全).
LINUX 环境进程间通信(全)目录一.Linux环境进程间通信(一):管道及有名管道31、 管道概述及相关API应用31.1 管道相关的关键概念31.2管道的创建:31.3管道的读写规则:31.4管道应用实例:81.5管道的局限性102、 有名管道概述及相关API应用102.1 有名管道相关的关键概念102.2有名管道的创建102.3有名管道的打开规则102.4有名管道的读写规则112.5有名管道应用实例14小结:14二.Linux环境进程间通信(二):信号(上)171、信号及信号来源171.1信号本质171.2信号来源172、信号的种类172.1可靠信号与不可靠信号172.2实时信号与非实时信号183、进程对信号的响应184、信号的发送195、信号的安装(设置信号关联动作)206、信号集及信号集操作函数:237、信号阻塞与信号未决24三.Linux环境进程间通信(二):信号(下)261、信号生命周期262、信号编程注意事项272.1 防止不该丢失的信号丢失272.2 程序的可移植性272.3 程序的稳定性283、深入浅出:信号应用实例29实例一:信号发送及处理29实例二:信号传递附加信息30实例三:信号阻塞及信号集操作32结束语:33四.Linux环境进程间通信(三):消息队列341、消息队列基本概念342、操作消息队列35消息队列API363、消息队列的限制384、消息队列应用实例39小结:41五.Linux环境进程间通信(四):信号灯441、信号灯概述442、Linux信号灯443、信号灯与内核444、操作信号灯455、信号灯的限制476、竞争问题487、信号灯应用实例48六.Linux环境进程间通信(五):共享内存(上)531、内核怎样保证各个进程寻址到同一个共享内存区域的内存页面532、mmap()及其相关系统调用542.1 mmap()系统调用形式542.2 系统调用mmap()用于共享内存的两种方式542.3 系统调用munmap()552.4 系统调用msync()553、mmap()范例55范例1:两个进程通过映射普通文件实现共享内存通信55范例2:父子进程通过匿名映射实现共享内存584、对mmap()返回地址的访问59结论61七.Linux环境进程间通信(五):共享内存(下)611、系统V共享内存原理612、系统V共享内存API623、系统V共享内存限制634、系统V共享内存范例63结论65一.Linux环境进程间通信(一):管道及有名管道1、 管道概述及相关API应用1.1 管道相关的关键概念管道是Linux支持的最初Unix IPC形式之一,具有以下特点:管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道; 只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程); 单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中。 数据的读出和写入:一个进程向管道中写的内容被管道另一端的进程读出。写入的内容每次都添加在管道缓冲区的末尾,并且每次都是从缓冲区的头部读出数据。 1.2管道的创建:#include unistd.hint pipe(int fd[2])该函数创建的管道的两端处于一个进程中间,在实际应用中没有太大意义,因此,一个进程在由pipe()创建管道后,一般再fork一个子进程,然后通过管道实现父子进程间的通信(因此也不难推出,只要两个进程中存在亲缘关系,这里的亲缘关系指的是具有共同的祖先,都可以采用管道方式来进行通信)。1.3管道的读写规则:管道两端可分别用描述字fd[0]以及fd[1]来描述,需要注意的是,管道的两端是固定了任务的。即一端只能用于读,由描述字fd[0]表示,称其为管道读端;另一端则只能用于写,由描述字fd[1]来表示,称其为管道写端。如果试图从管道写端读取数据,或者向管道读端写入数据都将导致错误发生。一般文件的I/O函数都可以用于管道,如close、read、write等等。从管道中读取数据:如果管道的写端不存在,则认为已经读到了数据的末尾,读函数返回的读出字节数为0; 当管道的写端存在时,如果请求的字节数目大于PIPE_BUF,则返回管道中现有的数据字节数,如果请求的字节数目不大于PIPE_BUF,则返回管道中现有数据字节数(此时,管道中数据量小于请求的数据量);或者返回请求的字节数(此时,管道中数据量不小于请求的数据量)。注:(PIPE_BUF在include/linux/limits.h中定义,不同的内核版本可能会有所不同。Posix.1要求PIPE_BUF至少为512字节,red hat 7.2中为4096)。 关于管道的读规则
您可能关注的文档
最近下载
- 3.1数据编码教学设计.docx VIP
- 2025黑龙江建筑职业技术学院单招《数学》常考点试卷含答案详解(完整版).docx VIP
- 高考语文复习古代诗歌阅读边塞征戍类专题练习合集.docx VIP
- 一种JNK激酶的相变探针及其应用.pdf VIP
- (高清版)DB37∕T 1830-2011 文登奶山羊饲养管理技术规程.pdf VIP
- 一方出地一方出资金的投资合作协议模板.docx VIP
- 第二单元 第1课《吉祥剪纸》课件【桂美版】美术 七年级上册.pptx VIP
- Joyoung 九阳 开水煲 K17D-WY170使用说明书.pdf
- 2025年认证行业法律法规及认证基础知识试题(附答案).docx VIP
- 2024年高考语文复习:古代诗歌边塞征戍类对比阅读练习题汇编(含答案解析).docx VIP
文档评论(0)