https://stackoverflow.com/questions/43402013/open-fifo-for-write-returns-no-such-device-or-address
这个回答是说,打开一个fifo文件的时候,如果open设置为非阻塞只写的情况下,读端如果还没有打开的情况下,写端就会返回失败。所以在open一个fifo文件的时候,最好是设置为阻塞状态。这样open就可以等到读取的进程打开后,写端的进程就会正常打开,并返回正确的描述符。
基于以上的分析:FIFO文件的读和写的open应该位于不同的两个进程或者线程。并且最好是open的模式都设置为阻塞模式。