我的问题是关于linux中的pipe()函数:http://linux.die.net/man/2/pipe
我的问题是:"linux中只有一个管道吗?"。我的意思是,如果我有多个进程写入管道,它是同一个管道吗?这意味着一旦我从管道中读取数据,我可能会在同一个读取()操作中从不同的进程获得数据?
否。pipe()
函数将创建一个具有两端的新管道。
可能发生的情况是,文件描述符可能是重复的。dup
、dup2
函数可以做到这一点。fork
也这样做。
如果您有两个具有重复管道文件描述符的程序,那么是的,它们都将显示在管道的输出中。
它与显示前台和后台运行的程序输出的终端窗口是一样的。
不仅读取管道(2),还读取管道(7),最重要的是读取高级Linux编程
我的意思是,如果我有多个进程写入管道
一般来说,你不应该让这成为可能。。。
它是同一个管道吗?这意味着一旦我从管道中读取数据,我可能会在同一个read()操作中从不同的进程中获取数据?
是的,但你通常不会那样做。