繁体   English   中英

Python永远打开fifo块

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM