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讀取。讀取將阻塞,直到數據可用。 –