ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

进程间通信

2021-05-09 19:35:41  阅读:177  来源: 互联网

标签:文件 无名 间通信 管道 有名 进程


进程间通信:ipc  

包括:管道,信号量,消息队列,共享内存,套接字 

一.管道:有名管道,无名管道

 

管道可以用来在两个进程之间传递数据,如: ps -ef | grep “bash”, 其中‘|’就是管道,其作用就是将 ps 命令的结果写入管道文件,然后 grep 再从管道文件中读出该数据进行过滤。

 

思考: 如果进程 a 要将从键盘获取的数据循环传递给另一个进程 b, 用已具备的知识思考应该如何完成

1.

 

 p:代表的是管道文件

 

2.管道的特点 :(重点)

无论有名还是无名,写入管道的数据都在内存

管道是一种半双工通信方式(通信方式有单工、半双工、全双工)

有名和无名管道的区别有名可以在任意进程间使用,而无名主要在父子进程

 3.管道文件只能以只读方式或只写方式打开

 

 

 

 

 

读写情况:

1写端关闭,读,int n=read返回值n==0

2 读端关闭,写,write会触发信号SIGPIPE

  

管道为空,读操作,堵塞

管道为满,写操作,堵塞

 

有名管道,需要读写两个进程通知打开才可以

 

 

无名管道, pipe()

 

 

 

 

信号量:

P  v

标签:文件,无名,间通信,管道,有名,进程
来源: https://www.cnblogs.com/xpei-1124/p/14748541.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有