目录
一、管道
1.管道的概念
管道就是内存中由操作系统维护的一块缓冲区。
2、管道与进程通信的关系
进程之间通信时通过管道作为中转站,一个输入一个读取,减少接口的复杂度。
3、建立管道
int pipe(int pipefd[2]);
参数:整型数组,数组中保存是是文件描述符,分别是可读和可写。数组内的两个文件描述符都是是直接由pipe函数进行赋值
4、单个进程使用管道读写
二、匿名管道
1、实现两个进程间的匿名管道通信
匿名管道只适用于具有亲缘关系的两个父子进程之间进行,先创建父进程先创建管道,再创建子进程。
实现通信之后当写端一直写或者读端一直读时会引起阻塞
2、设置成非阻塞信息传输方式
fcntl函数:设置/获取文件描述符的属性
int fcntl(int fd,int cmd,…/arg/);
F_GETFL:fcntl函数自动从文件中获取信息
F_