2015-12-13 52 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)