写入器关闭后进行管道/ FIFO读取尝试

时间:2018-07-12 10:04:01

标签: c linux pipe fifo

in pipe's Linux man page所述,给定已正确打开以读取和写入的管道/ FIFO,如果关闭了写入端,则“尝试从管道读取(2)将会看到-文件(read(2)将返回0)”。我的问题是,假设我已经向管道中写入了一些数据(现在应该将其存储在内核缓冲区中),然后在读取端设法读取数据之前关闭了写入端,以下尝试读取文件仍会自动获得EOF,还是读者能够先读取内核缓冲区中的数据,然后才获得EOF?

1 个答案:

答案 0 :(得分:2)

在发出EOF信号之前,首先读取仍然在管道中的数据。