我正在围绕应该无限期运行的服务器 cmd 行脚本构建一个包装器。我需要做的是在不等待子流程完成的情况下获取当前的黑啤酒。
我的意思是,如果我运行以下命令,一切正常:
ls = Popen(["ls"], stdout=PIPE)
output = ls.stdout.read()
但是,如果我对无限期运行的程序做同样的事情:
server = Popen(["python","-m","SimpleHTTPServer"], stdout=PIPE)
output = server.stdout.read()
它不会回来了……
更新:甚至
output = server.stdout.read(1)
挂...
您知道是否有办法以独立于操作系统的方式从 Popen(或类似的线程实现)捕获部分输出?