管道
匿名管道
命名管道
- 管道是一种特殊的文件,保存在内存中,而不是硬盘里。
- 不同进程通过文件路径来确定同一个管道,然后通过读写管道文件来进行通信
#define MY_FIFO "./named_fifo"
int main()
{
umask(0); //取消系统对创建的文件的权限的影响
mkfifo(MY_FIFO, 0666); //创建一个命名管道
int fd = open(MY_FIFO, O_RDONLY); //具有读权限
int fd = open(MY_FIFO, O_WRONLY); //具有写权限
char buf[1024] = {0};
s = read(fd, buf, 1023); //从管道读
s = write(fd, buf, 1023); //向管道写
close(fd);
}