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

10-01 17:16
查看更多