我试图在Python中使用命名管道实现IPC,但是存在问题。 open
阻止了该过程
import os
path = '/tmp/fifo'
os.mkfifo(path)
fifo = open(path, 'w') # never returns
与open(path, 'r')
我做错了什么?
Python 3.6.1
答案 0 :(得分:3)
想出来了。 {{1}}阻塞,直到管道在另一侧打开
答案 1 :(得分:1)
根据os.mkfifo,您需要使用
~/
答案 2 :(得分:0)
函数os.mkfifo(path)
需要创建路径(如果所有文件夹都不存在,则构建所有路径)。
因此,您需要添加如下文件名:fifo = open(path + file, 'r')
通常,FIFO用作“客户端”和“服务器”类型进程之间的会合:服务器打开FIFO进行读取,客户端打开它进行写入。 请注意,mkfifo()不会打开FIFO - 它只会创建会合点