2015-12-13 51 views
0

我有两个独立的Python脚本,它们在随机时间点创建一个fifo写入模式,并在读取模式下打开属于彼此的fifo。 (即P1在写模式下打开fifo1,在写模式下p2打开fifo2,然后在读模式下p1打开fifo2,在读模式下p2打开fifo1)。有没有办法,p1必须等待,直到fifo2被创建并准备好,以防p2如何延迟创建fifo2?Python:一个进程如何等待另一个进程创建的fifo?

+0

什么问题? –

+0

我想要这样的技巧,让P1等待(不同的表现)直到P2创建fifo2。一旦完成,P1在读取模式下打开fifo2并继续正常执行。 – Anirban

+0

而不是等待fifo被创建,你应该在读取时阻塞。也就是说,尽早创建两个fifos(甚至在任何一个进程开始之前)并从fifo读取。读取将阻塞,直到数据可用。 –

回答

0

我想要这样的技术,让P1等待(不同的表现) 直到P2创建fifo2。

import time 
while True: 
    try: 
     fifo2 = open('fifo2', 'r') 
     break 
    except IOError: 
     time.sleep(1)