C 管道、Fifo、读()和写()函数

C 管道、Fifo、读()和写()函数,c,linux,kernel,C,Linux,Kernel,我正在学习管道,fifo和我有一个问题 如果一个程序打开管道进行读取,而另一个程序打开管道进行写入,会发生什么情况。这两个程序并行运行。假设第一个程序尝试读取表单管道,但是没有信息,所以在第二个程序写入内容之前,它是阻塞的 在第二步中,第一个程序速度更快,并尝试从管道中再次读取。这次有一些上次的信息。这个节目做什么?它是否读取上次的信息 谢谢 是的,从管道读取的程序将按照其他程序编写的顺序读取所有内容,但不一定是以相同的块大小。如果有可用的内容,它将读取它(或读取缓冲区中的内容)。是的,从管道读

我正在学习管道,fifo和我有一个问题

如果一个程序打开管道进行读取,而另一个程序打开管道进行写入,会发生什么情况。这两个程序并行运行。假设第一个程序尝试读取表单管道,但是没有信息,所以在第二个程序写入内容之前,它是阻塞的

在第二步中,第一个程序速度更快,并尝试从管道中再次读取。这次有一些上次的信息。这个节目做什么?它是否读取上次的信息


谢谢

是的,从管道读取的程序将按照其他程序编写的顺序读取所有内容,但不一定是以相同的块大小。如果有可用的内容,它将读取它(或读取缓冲区中的内容)。

是的,从管道读取的程序将按照其他程序写入的顺序读取所有内容,但不一定是以相同的块大小。如果有可用的内容,它将读取它(或读取缓冲区中的内容)。

是的,从管道读取的程序将按照其他程序写入的顺序读取所有内容,但不一定是以相同的块大小。如果有可用的内容,它将读取它(或读取缓冲区中的内容)。

是的,从管道读取的程序将按照其他程序写入的顺序读取所有内容,但不一定是以相同的块大小。如果有可用的内容,它将读取它(或读取缓冲区中的内容)。

如果我正确解释了您的问题,答案是否定的。第一次读取时读取的任何信息都会被消耗,并且在管道中不再可用。如果没有进一步写入管道,则第二次读取将被阻止。

如果我正确解释了您的问题,答案是否。第一次读取读取的任何信息都将被消耗,并且在管道中不再可用。如果没有进一步写入管道,则第二次读取将被阻止。

如果我正确解释了您的问题,答案是否。第一次读取读取的任何信息都将被消耗,并且在管道中不再可用。如果没有进一步写入管道,则第二次读取将被阻止。

如果我正确解释了您的问题,答案是否。第一次读取读取的任何信息都将被消耗,并且在管道中不再可用。如果没有进一步写入管道,第二次读取将被阻塞。

据我所知,您对它的解释是错误的-问题明确指出“这一次有上一次的一些信息”-如果您为读取函数提供一个小的缓冲区长度,则会发生这种情况。但也许这个问题写得不好。@Sebastian-同意这个问题措词不当,但是,既然OP接受了我的回答,看来我对他的问题的解释是正确的。据我所知,你的解释是错误的-问题明确指出“这一次有一些上次的信息。”-如果为读取函数提供较小的缓冲区长度,则可能发生这种情况。但也许这个问题写得不好。@Sebastian-同意这个问题措词不当,但是,既然OP接受了我的回答,看来我对他的问题的解释是正确的。据我所知,你的解释是错误的-问题明确指出“这一次有一些上次的信息。”-如果为读取函数提供较小的缓冲区长度,则可能发生这种情况。但也许这个问题写得不好。@Sebastian-同意这个问题措词不当,但是,既然OP接受了我的回答,看来我对他的问题的解释是正确的。据我所知,你的解释是错误的-问题明确指出“这一次有一些上次的信息。”-如果为读取函数提供较小的缓冲区长度,则可能发生这种情况。但也许这个问题写得不好。@Sebastian-同意这个问题措词不当,但既然OP接受了我的回答,看来我对他的问题的解释是正确的。