Linux中的管道pipe----管道的四种情况和特点

本文探讨Linux管道的四种情况:1) 写方不断写入,读方不读,导致缓冲区填满;2) 读方持续读取,写方未写入,父进程等待子进程;3) 写方写入后关闭,读方读取剩余数据直至返回0。这些情况揭示了管道在操作系统中的行为特性。
摘要由CSDN通过智能技术生成
管道(pipe)----是用来支持两个或多个进程间进行进程间通信(IPC)
进程间通信(IPC)----每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到。所以进程之间要交换数据必须通过内核。
                     不同进程看到的公共资源是由操作系统(OS)提供的。

管道(pipe)函数原型为: int pipe(int pipefd[2]) pipefd[2]为输出型参数,是一个数组,存放打开的两个文件描述符。
                         一般情况下,文件描述符0、1、2为标准输入输出错误,pipefd[0]打开文件描述符3,pipefd[1]
                         打开文件描述符4。0、1下标分别对应管道的读端和写端
管道的特点:
(1)管道适用于单向通信,防止用户误操作;
(2)管道目前只用于具有血缘关系的进程,常用于父子进程;
(3)管道的生命周期是:随进程,管道是文件,在进程退出时文件销毁,管道也销毁;
(4)管道是基于字节流的通信方式;
(5)管道内部已经实现了同步,具有数据一致性;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值