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

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

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

一、管道具有以下特点:

  • 管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;
  • 只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);
  • 单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中。
  • 数据的读出和写入:一个进程向管道中写的内容被管道另一端的进程读出。写入的内容每次都添加在管道缓冲区的末尾,并且每次都是从缓冲区的头部读出数据。

二、 管道的基本原理图

      
三、管道的读写规则
      
四、 实例代码
      
      
五、编译运行
     

本文结束

目录
相关文章
|
26天前
|
前端开发 API
18_管道——转换
18_管道——转换
11 0
|
8月前
python-- 进程管道 Pipe、进程 Manager
python-- 进程管道 Pipe、进程 Manager
|
6月前
56 # 实现 pipe 方法进行拷贝
56 # 实现 pipe 方法进行拷贝
21 0
|
10月前
|
负载均衡
进程间通信--管道
进程间通信--管道
|
12月前
|
Unix Linux
C 程序来演示 fork() 和 pipe()
fork() 用于创建子进程。此子进程是原始(父)进程的副本。它是在类Unix操作系统上创建进程的主要方法。
60 0
|
Linux Shell
【Linux进程间通信】二、pipe管道
【Linux进程间通信】二、pipe管道
199 0
【Linux进程间通信】二、pipe管道
|
网络协议 测试技术 Go
管道的关闭和遍历|学习笔记
快速学习管道的关闭和遍历
127 0
|
API 索引
ES中摄取管道详解
ES中摄取管道详解
243 0
ES中摄取管道详解
|
JavaScript
将 Observable.pipe 的输入参数手动分解
将 Observable.pipe 的输入参数手动分解
171 0
将 Observable.pipe 的输入参数手动分解
|
Linux Shell
详解linux进程间通信-管道 popen函数 dup2函数
  前言:进程之间交换信息的唯一方法是经由f o r k或e x e c传送打开文件,或通过文件系统。本章将说明进程之间相互通信的其他技术—I P C(InterProcess Communication)。
1503 0