pipe() function in linux



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

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

否。pipe()函数将创建一个具有两端的新管道。

可能发生的情况是,文件描述符可能是重复的。dupdup2函数可以做到这一点。fork也这样做。

如果您有两个具有重复管道文件描述符的程序,那么是的,它们都将显示在管道的输出中。

它与显示前台和后台运行的程序输出的终端窗口是一样的。

不仅读取管道(2),还读取管道(7),最重要的是读取高级Linux编程

我的意思是,如果我有多个进程写入管道

一般来说,你不应该让这成为可能。。。

它是同一个管道吗?这意味着一旦我从管道中读取数据,我可能会在同一个read()操作中从不同的进程中获取数据?

是的,但你通常不会那样做。

最新更新