popen4挂在写上

我在锁定我的POpen4时遇到了麻烦.看起来像是
与我正在运行的实际命令无关,因为我创建了该命令
只是"猫"(我在Unix上)来回应我发送给它的任何输入,它仍然
锁定中.诀窍是,它对少量数据有效.在大致上
1.5K的输入,它锁定并且不会再向管道写入任何数据.
我假设某个地方的缓冲区已满,它阻塞了WRITE调用.
同时,我无法读取输出,因为如果我这样做,它会阻塞,
也是.
有人知道如何解决这个问题吗?以下是我当前的代码:
导入Popen2
PIPE=open2.POpen4("cat")
Pipe.toChild.write(Data)
Pipe.toChild.lose()
OUTPUT=pipe.FromChil.Read()
打印输出
同样,当数据只有几行时,它可以工作,但如果数据可能是1500行,则不起作用
字节或更多.我找不到解决这个问题的文档;
从理论上讲,上述方法应该是可行的.我还是不明白.
感谢任何人能给我的任何帮助.

标签: python

添加新评论