进程间通讯————管道

管道分为两种,一种是有名管道,一种是无名管道。
有名管道:
利用管道文件实现进程间通讯,管道文件仅仅是磁盘上的一个文件标识,其真实数据存储在内存上。对于管道文件的打开操作,必须是有读有写,否则open函数会阻塞;对于管道文件指向的内存中存储的数据,被读取后便不存在了。
命令:mkfifo filename
文件函数:open(打开文件),write(写数据),read(读取数据),close(关闭文件)。
代码实现:
在这里插入图片描述
在这里插入图片描述
无名管道:
相对有名管道,无名管道不存在管道文件,他必须借助父子进程共享fork之前打开的文件描述符,所以无名管道只能应用于父子进程之间的通讯。
无名管道创建于打开函数pipe只需要接收有两个元素的整型数组。
命令:int pipe(int fd)
函数与有名管道相同。
代码实现:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值