Linux环境进程间通信 一 管道 pipe 和
?
原文地址:Linux环境进程间通信(一)--管道(pipe)和命名管道(fifo)作者:tianxai1、管道概述及相关API应用
1.1管道相关的关键概念
管道是Linux支持的最初Unix IPC形式之一,具有以下特点:
管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中。数据的读出和写入:一个进程向管道中写的内容被管道另一端的进程读出。写入的内容每次都添加在管道缓冲区的末尾,并且每次都是从缓冲区的头部读出数据。1.2管道的创建:
#include unistd.h int pipe(int fd[2])
该函数创建的管道的两端处于一个进程中间,在实际应用中没有太大意义,因此,一个进程在由pipe()创建管道后,一般再fork一个子进程,然后通过管道实现父子进程间的通信(因此也不难推出,只要两个进程中存在亲缘关系,这里的亲缘关系指的是具有共同的祖先,都可以采用管道方式来进行通信)。
1.3管道的读写规则:
管道两端可分别用描述字fd[0]以及fd[1]来描述,需要注意的是,管道的两
您可能关注的文档
最近下载
- 铁路工程路基内业资料表格范本.pdf VIP
- 2026年浙江省图书资料高级专业技术职务任职资格考试(图书资料专业理论知识与实务)全真冲刺试题及答案.docx VIP
- 原子物理学(第五版)杨福家课后习题答案解析.pdf
- N,N-二甲基甲酰胺-国际化学品安全卡.pdf VIP
- ViewX 用户手册 15.6英寸裸眼3D空间智能AI显示器 用户手册.pdf
- 《美丽乡村公墓建设规范》地方标准.doc VIP
- 4.1.1原电池 课件 (共22张PPT) 2025年高二上学期化学人教版(2025)选择性必修1(含音频+视频).pptx VIP
- 05J909 工程做法图集.docx VIP
- 韶关市武江区2025-2026学年第二学期四年级语文期末考试卷(部编版含答案).docx VIP
- 公路工程交工验收施工总结报告.docx
原创力文档

文档评论(0)