![](/img/trans.png)
[英]Python: Multithreading using join and Queue sometimes blocks forever
[英]Python open fifo blocks forever
我正在尝试使用Python中的命名管道来实现IPC,但是存在问题。 open
阻碍了进程
import os
path = '/tmp/fifo'
os.mkfifo(path)
fifo = open(path, 'w') # never returns
与open(path, 'r')
我究竟做错了什么?
的Python 3.6.1
想通了。 open
块直到管道在另一侧打开
根据os.mkfifo ,您需要使用fifo = open(path, dir_fd='w')
函数os.mkfifo(path)
创建所需的路径(如果所有文件夹都不存在,则构建所有路径)。
因此,您需要像这样添加文件名: fifo = open(path + file, 'r')
通常,FIFO被用作“客户端”和“服务器”类型进程之间的集合点:服务器打开FIFO进行读取,而客户端打开FIFO进行写入。 请注意,mkfifo()不会打开FIFO,它只是创建集合点
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.