linux中的pipe()函数

Cra*_*hax 1 linux pipe

我的问题是关于linux中的pipe()函数:http://linux.die.net/man/2/pipe

我的问题是:"linux中只有一个管道吗?".我的意思是,如果我有多个写入管道的进程,它是否是相同的管道,这意味着一旦我从管道读取数据,我可能会在同一个read()操作中从不同进程获取数据?

Zan*_*ynx 5

不可以.该pipe()功能可以创建一个带两端的新管道.

可能发生的是文件描述符可以重复.的dup,dup2功能可以做到这一点.fork它也是.

如果你以某种方式有两个带有重复管道文件描述符的程序,那么是的,它们都将显示在管道的输出中.

它与终端窗口相同,显示在前台和后台运行的程序的输出.

  • @CrazySynthax:就像程序从命令行启动新程序时从shell继承终端的文件描述符一样.是. (3认同)