如何解决处理充斥stdout的子过程
| 我正在处理子进程,该子进程有时会陷入无限循环,并用垃圾淹没stdout。除那些情况外,我通常需要捕获stdout。 该讨论提供了一种方法来限制子进程所花费的时间,但是问题在于,在合理的超时时间内,它可以在被杀死之前产生GB的输出。 有没有办法限制从流程中捕获的输出量?解决方法
如果您无法检测到何时发生洪灾,那么其他任何人都不可能。由于执行了捕获,因此您当然可以限制捕获,但是这要求您知道何时发生了循环。
如果“常规”速率低于垃圾邮件发生时的速率,也许可以使用速率限制?
, 您可以将子进程的stout连接到类似文件的对象,该对象限制了在调用Popen时它将传递给真实stdout的数据量。类似于文件的对象可以是fifo或cStringIO。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。