0
我有两个独立的Python脚本,它们在随机时间点创建一个fifo
写入模式,并在读取模式下打开属于彼此的fifo
。 (即P1在写模式下打开fifo1,在写模式下p2打开fifo2,然后在读模式下p1打开fifo2,在读模式下p2打开fifo1)。有没有办法,p1必须等待,直到fifo2被创建并准备好,以防p2如何延迟创建fifo2?Python:一个进程如何等待另一个进程创建的fifo?
我有两个独立的Python脚本,它们在随机时间点创建一个fifo
写入模式,并在读取模式下打开属于彼此的fifo
。 (即P1在写模式下打开fifo1,在写模式下p2打开fifo2,然后在读模式下p1打开fifo2,在读模式下p2打开fifo1)。有没有办法,p1必须等待,直到fifo2被创建并准备好,以防p2如何延迟创建fifo2?Python:一个进程如何等待另一个进程创建的fifo?
我想要这样的技术,让P1等待(不同的表现) 直到P2创建fifo2。
import time
while True:
try:
fifo2 = open('fifo2', 'r')
break
except IOError:
time.sleep(1)
什么问题? –
我想要这样的技巧,让P1等待(不同的表现)直到P2创建fifo2。一旦完成,P1在读取模式下打开fifo2并继续正常执行。 – Anirban
而不是等待fifo被创建,你应该在读取时阻塞。也就是说,尽早创建两个fifos(甚至在任何一个进程开始之前)并从fifo读取。读取将阻塞,直到数据可用。 –