1.管道的创建:
管道是由调用pipe函数来创建
#include <unistd.h>
int pipe (int fd[2]); //返回:成功返回0,出错返回-1
是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系(父子进程)的进程间使用。
2.有名管道和无名管道的区别:
有名管道:可以在任意两个进程之间,有名的名字存在磁盘中
无名管道:只可以在父子进程之间
3.管道的内核实现方式:
在 Linux 中,管道的实现并没有使用专门的数据结构,而是借助了文件系统的file结构和VFS的索引节点inode。通过将两个 file 结构指向同一个临时的 VFS 索引节点,而这个 VFS 索引节点又指向一个物理页面而实现的。
进程间通信方式——管道
最新推荐文章于 2023-03-03 11:23:14 发布