PMU_PIPE_MAP = {}
PIPE= 'tmp/%s.pipe' % hostname
if not os.path.exists(PIPE):
os.mkfifo(PIPE)
PMU_PIPE_MAP[hostname] = os.open(PIPE, os.O_WRONLY)
我正试图打开管道。为了跟踪它们,我想把它们以某种方式存储在字典中,我认为上面的代码应该可以工作,但在执行过程中会冻结。有什么建议吗?
但这确实有效:
pipein = os.open(PIPE, os.O_WRONLY)
最佳答案
啊哈!显然,在我们能从管道中得到回报之前,另一端必须有一个读数。所以我问的问题是不正确的,因为我没有用同样的方法测试这两个场景。所以我的问题是理解管道是如何工作的。在这种情况下,一旦在“read”端打开管道,字典条目将成功,但在此之前将被阻塞。
how to determine if pipe can be written