在 Python 中,我可以通过以下方式轮询 fifo(使用 Linuxmkfifo
命令创建)上的传入数据:
reader = open(known_fifo_name,"r")
while True:
data = reader.read(1)
if data:
process(data)
else:
time.sleep(0.1) #no data now, try later
但是read()
在没有数据时以及当 fifo 已被删除(通过remove()
调用的外部程序)时都返回空字符串。
有没有办法告诉我正在听的fifo不再存在?