标签: python pipe blocking popen nonblocking
在subprocess documentation中,如果PIPE创建的管道阻塞或无阻塞,我没有找到任何提示。
PIPE
即,如果我致电p.stdout.read(),它会在某些情况下阻止吗?文档警告说。我怎么能避免这种情况?
p.stdout.read()
使用p.communicate()对我来说不是一个选项,因为在进程退出之前我不想阻止/等待。
p.communicate()
我现在看到的唯一选择是创建另一个线程并编写一些简单的非阻塞文件类包装器对象。然而,对于这样简单的任务来说,这似乎非常复杂。