10
我想在守護進程和使用命名管道的客戶端之間建立雙向通信。代碼在嘗試打開用於輸入的命名管道時掛起爲什麼?python命名管道問題
class comm(threading.Thread):
def __init__(self):
self.srvoutf = './tmp/serverout'
self.srvinf = './tmp/serverin'
if os.path.exists(self.srvoutf):
self.pipein = open(self.srvoutf, 'r')
#-----------------------------------------------------Hangs here
else:
os.mkfifo(self.srvoutf)
self.pipein = open(self.srvoutf, 'r')
#-----------------------------------------------------or here
if os.path.exists(self.srvinf):
self.pipeout = os.open(self.srvinf, os.O_WRONLY)
else:
os.mkfifo(self.srvinf)
self.pipeout = os.open(self.srvinf, os.O_WRONLY)
threading.Thread.__init__ (self)
讀取和寫入管道阻塞,直到相應的讀寫器連接 – tMC 2011-06-05 05:57:46
謝謝,也更多的挖掘後,這裏是一個深入的解釋http://stackoverflow.com/questions/5782279/python-why-does-a-read -only-open-a-named-pipe-block – 2011-06-05 06:00:10
可能的重複http://stackoverflow.com/questions/5782279/python-why-does-a-read-only-open-of-a-named-pipe -塊。編輯:正如你在我輸入我的評論時發現的那樣。 – andrewdski 2011-06-05 06:04:01