2024-03-28 14:04:28 发布
网友
我所处理的子进程偶尔会进入无限循环并用垃圾淹没stdout。我通常需要捕获stdout,除了那些情况。在
这个discussion提供了一种限制子进程所需时间的方法,但问题是,对于一个合理的超时,它可以在被终止之前生成GB的输出。在
有没有办法限制从流程中捕获的输出量?在
如果你不能检测到洪水何时发生,其他人也没法检测到。既然你做了捕捉,你当然可以自由地限制你的捕捉,但这要求你知道什么时候发生了循环。在
也许你可以使用速率限制,如果“常规”速率低于垃圾邮件发生时观察到的速率?在
可以将子进程的stout连接到一个类似文件的对象,该对象限制了调用Popen时它将传递给实际stdout的数据量。类似文件的对象可以是fifo或cStringIO。在
如果你不能检测到洪水何时发生,其他人也没法检测到。既然你做了捕捉,你当然可以自由地限制你的捕捉,但这要求你知道什么时候发生了循环。在
也许你可以使用速率限制,如果“常规”速率低于垃圾邮件发生时观察到的速率?在
可以将子进程的stout连接到一个类似文件的对象,该对象限制了调用Popen时它将传递给实际stdout的数据量。类似文件的对象可以是fifo或cStringIO。在
相关问题 更多 >
编程相关推荐