首页 > 解决方案 > 写端关闭后,为什么在 FIFO 中继续读?

问题描述

我有 2 个 python 程序。一种是读者

fifo_read=open('buffer','r')
while True:
    data=fifo_read.read(1)
    print('"',data,'"read from buffer')

另一个是作家

import time

fifo_write=open('./buffer','w')

while True:
    fifo_write.write('a')
    fifo_write.flush()
    time.sleep(1)

我面临的问题是,一旦我用 Ctrl+C 终止写入器,读取器就会继续从 FIFO 中读取“”。出于我的目的,我希望读取器阻塞,直到另一个写入器在未来某个时间开始并开始写入 FIFO。但在这种情况下不会发生这种情况。

标签: pythonpython-3.xpipeipcnamed-pipes

解决方案


推荐阅读