处理淹没stdou的子进程

2024-03-28 14:04:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我所处理的子进程偶尔会进入无限循环并用垃圾淹没stdout。我通常需要捕获stdout,除了那些情况。在

这个discussion提供了一种限制子进程所需时间的方法,但问题是,对于一个合理的超时,它可以在被终止之前生成GB的输出。在

有没有办法限制从流程中捕获的输出量?在


Tags: 方法进程stdout时间情况流程垃圾gb
2条回答

如果你不能检测到洪水何时发生,其他人也没法检测到。既然你做了捕捉,你当然可以自由地限制你的捕捉,但这要求你知道什么时候发生了循环。在

也许你可以使用速率限制,如果“常规”速率低于垃圾邮件发生时观察到的速率?在

可以将子进程的stout连接到一个类似文件的对象,该对象限制了调用Popen时它将传递给实际stdout的数据量。类似文件的对象可以是fifo或cStringIO。在

相关问题 更多 >