一、定义
管道是单向的、先进先出的。它将一个程序的输入和另一个程序的输出连接起来。数据被一个进程读出后,将被从管道中删除。分为无名和有名管道两种。前者用于父进程和子进程间的通信,后者用于同一系统的两个进程间通信。
二、无名管道
int pipe(int fd[2]);
其中,fd[0]用于读管道,fd[1]用于写管道。若成功则返回零,否则返回-1,错误原因存于errno中。
三、有名管道:FIFO
本文介绍了Linux中的管道通信,包括无名管道和有名管道(FIFO)的概念及使用。无名管道适用于父进程和子进程通信,有名管道则允许不同进程间进行通信。管道具有单向、先进先出的特性,读取数据后会自动从管道中移除。创建有名管道使用mkfifo函数,打开时可以设置O_NONBLOCK避免阻塞。

最低0.47元/天 解锁文章
1058

被折叠的 条评论
为什么被折叠?



