1.特点
有名管道
在磁盘上有这样一个文件,可通过命令ls -l查看前缀带p的文件
伪文件,在磁盘上大小永远为0
在内核中有一个对应的缓冲区
半双工的通信方式
3.创建方式
命令:mkfifo 管道名
open/close
read/write
a.c ---> read
int fd = open("myfifo",O_RDONLY);
read(fd,buf,sizeof(buf));
int fd1 = open("myfifo",O_WRONLY);
write(fd1,"hello,world",11);
close(fd1)
有名管道
在磁盘上有这样一个文件,可通过命令ls -l查看前缀带p的文件
伪文件,在磁盘上大小永远为0
在内核中有一个对应的缓冲区
半双工的通信方式
默认阻塞
2.使用场景没有血缘关系的进程间通信
命令:mkfifo 管道名
函数:mkfifo 类似于mkdir
4.fifo文件可以使用IO函数进行操作open/close
read/write
不能执行lseek操作
5.进程间通信
(1) fifo文件---myfifo
(2)两个不相干的进程A(a.c)和B(b.c)a.c ---> read
int fd = open("myfifo",O_RDONLY);
read(fd,buf,sizeof(buf));
close(fd);
b.c ---> writeint fd1 = open("myfifo",O_WRONLY);
write(fd1,"hello,world",11);
close(fd1)