
①它可以使互不相关的两个进程间实现彼此通信;
②该管道可以通过路径名来指出,并且在文件系统中是可见的。在建立了管道之后,两个进程就渗码御可以把它当作普通文件一样进行丛岩读写 *** 作,使用非常方便;
③FIFO严格地遵循先进先出规则,对管道及FIFO的读 *** 作总是从开始处返回数据,对它们的写 *** 作则是把数据添加到末尾。
无名管道和有名管道是Linux系统内核的特殊文件,用于进程之间的通信。无名管道相当于一个队列结构,fd[1]为写入端(入队),fd[0]为读出端(出队)。其中信息读出后即删除,再次读取时即为下一个信息。
相关函数:[1]
函数形式:intpipe(int fd[2])
功能:创建无名管道文件。无名管道是一个特殊文件,不可由open函数创建。
参数:fd[2]有两个成员 fd[0]和让袭 fd[1],他们都是文件描述符。 管道有固定的读端 fd[0]和固定的写端 fd[1]。
返回值:成功返回 0,出错返回-1。
说明:
1.管道是创建在内存中,进程结束空间释放,管道不复存在。
2.无名管道和有名管坦山兄道都是半双工通信,实现双向通信需要建立两个管道。
3.无名管道是linux特殊文唯巧件,不能在与windows共享的文件夹中创建。
4.无名管道只用于父子进程之间,有名管道可用于无亲缘关系的进程之间。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)