您的位置:首页 > 运维架构 > Linux

linux管道原理与应用

2013-12-12 15:29 267 查看
管道实际上在内核创建了一个i node,和一个指向它的固定大小内核缓冲区(可以理解为类似cache,但读写不分开),传入的两个文件描述符就都指向这段缓冲区,这样读管道的0文件描述符和写它的1文件描述符,就好像读写这个文件一样,实现了进程间的通信。

管道虽然说是半双工,不同时刻可以在两个方向流动,假设是这样的场景,一个进程创建了一个管道,然后创建子进程,父进程先写后读,子进程先读后写,我们希望他实现的是父进程先发数据给子进程,子进程然后发数据给父进程,但是很有可能子进程还没读,父进程就先读了(试验证实)

所以,真的想实现双向通信,可以创建两个管道,一个正向,一个逆向。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: