抱歉,我只能使用英语进行回答。
new_pipe = os.open(pipe_path, os.O_RDONLY | os.O_NONBLOCK) # pipe_path points to a FIFO
data = os.read(new_pipe, 1024)
读取时偶尔会引发 errno -11: 资源暂时不可用。
在什么情况下会引发此错误?看起来非常罕见,因为通常情况下会返回数据:
- 如果没有写入器打开管道,则返回空字符串('')。
- 如果写入器已经打开了管道,但是 fifo 中没有任何数据,也会返回空字符串('')。
- 当然,如果写入器向 fifo 中放入数据,则可以读取该数据。