pipe 非要各关一端不可?

Posted 看,未来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pipe 非要各关一端不可?相关的知识,希望对你有一定的参考价值。

记得以前就想过这个问题,在给人上课的时候也试过,如果不按规范关闭一个读端和一个写端,会造成进程阻塞。

以前我思考过一个问题:
我一个管道读,管道对面是好几个进程在写,会怎么样?
我一个管道写,管道对面是好几个进程在读,会怎么样?

对于一,读端会乱序;
对于二,读端会阻塞。

当pipe写端引用计数 >0 时,读端读完管道里的数据就会阻塞等待写端写入;
当pipe写端引用计数 =0 时,读端读完就返回0,进程结束。

以上是关于pipe 非要各关一端不可?的主要内容,如果未能解决你的问题,请参考以下文章

linux中的pipe和fifo的区别

unix pipe() 和dup2()的使用方法和原理

Linux 进程间通信之管道(pipe),(fifo)

妙不可言,使用 Python 管道 Pipe 编写代码如此优雅

Linux进程间通信之管道(pipe)命名管道(FIFO)与信号(Signal)

Linux编程--进程间通信