【C++服务器入门基础------4.IPC进程间通信--管道】

大学生寒假在家过于无聊,整理一下以前学过的知识,顺便复习一下,水平较低,专业性差,仅供参考,不喜勿喷(反正也没人看)。连续一周多出去泡妞了,现在开学了,真的有在好好整理啦。

一、什么是管道

管道是Unix中最古老的进程间通信的形式。

我们把从一个进程连接到另一个进程的一个数据流称为一个“管道”

把一个进程的输出连接或“管接”(经过管道来连接)到另一个进程的输入。

二、在shell中使用管道

链接shell命令:把一个进程的输出直接馈入另一个的输入,命令格式如下

命令1 |命令2|命令3|....

如:cat /etc/passwd|sort

三、管道特点

·管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道。

·只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程)进行通信;通常,一个管道由一个进程创建,然后该进程调用fork,此后父、子进程之间就可应用该管道。

·管道不是普通的文件,不属于某个文件系统,其只存在于内存中。

·管道的缓冲区大小是有限的,在linux中,该缓冲区的大小固定为4k

四、匿名管道

管道分为匿名管道和有名管道,先介绍匿名管道。

(1)pipe函数

包含头文件<unistd.h>

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值