天天看点

管道---pipe函数实例讲解

       linux程序设计,很多的开源软件中都会用到管道技术,而管道技术中pipe用的叫频繁,这几天正在看一个软件的源码,同样里面用到了pipe函数,所以驻足,编写此文档,用以加深印象。

一、管道具有以下特点:

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

只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);

单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中。

数据的读出和写入:一个进程向管道中写的内容被管道另一端的进程读出。写入的内容每次都添加在管道缓冲区的末尾,并且每次都是从缓冲区的头部读出数据。

二、 管道的基本原理图

管道---pipe函数实例讲解

三、管道的读写规则

管道---pipe函数实例讲解

四、 实例代码

管道---pipe函数实例讲解
管道---pipe函数实例讲解

五、编译运行

管道---pipe函数实例讲解

本文结束

继续阅读