linux中的pipe()函数

linux中的pipe()函数,linux,pipe,Linux,Pipe,我的问题是关于linux中的pipe()函数: 我的问题是:“linux中只有一个管道吗?”。我的意思是,如果我有多个进程写入管道,这是同一个管道吗?这意味着一旦我从管道中读取数据,我可能会在同一个read()操作中从不同的进程中获取数据 不仅要阅读,而且最重要的是 我的意思是,如果我有多个进程写入管道 一般来说,你不应该让这成为可能 是同一个管道吗?也就是说,一旦我从管道中读取数据,我可能会在同一个read()操作中从不同的进程中获取数据 是的,但你通常不这么做。不仅要阅读,而且最重要的是要阅

我的问题是关于linux中的pipe()函数:

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

不仅要阅读,而且最重要的是

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

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

是同一个管道吗?也就是说,一旦我从管道中读取数据,我可能会在同一个read()操作中从不同的进程中获取数据

是的,但你通常不这么做。

不仅要阅读,而且最重要的是要阅读

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

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

是同一个管道吗?也就是说,一旦我从管道中读取数据,我可能会在同一个read()操作中从不同的进程中获取数据

是的,但您通常不会这样做。

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

可能发生的情况是,可以复制文件描述符。
dup
dup2
功能可以实现这一点<代码>叉子也这样做

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

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

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

可能发生的情况是,可以复制文件描述符。
dup
dup2
功能可以实现这一点<代码>叉子也这样做

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


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

这是一个非常混乱的问题。为什么不包括那些让你首先想到这一点的东西呢?您是否有一个程序显示来自不同流程的数据?这是一个非常混乱的问题。为什么不包括那些让你首先想到这一点的东西呢?您是否有一个程序显示来自不同进程的数据?那么您的意思是,在fork()中创建的子进程继承管道的文件描述符,因此它实际上是完全相同的数据?@CrazySynthax:就像从命令行启动新程序时程序如何从shell继承终端的文件描述符一样。是的。那么您的意思是,在fork()中创建的子进程继承了管道的文件描述符,因此它实际上是完全相同的数据?@CrazySynthax:就像从命令行启动新程序时,程序如何从shell继承终端的文件描述符一样。对