铅漏Popen对象

时间:2014-11-11 18:24:02

标签: python memory-leaks subprocess plumbum

我有一个类似守护进程的进程,它使用plumbum在子进程中运行命令。我注意到它泄漏了Popen个对象。

易于复制:

from plumbum.cmd import ls
x = [ ls() for i in range(500) ]
del x
import gc
gc.collect()
import objgraph
[ x for x in objgraph.most_common_types(10000) if 'Popen' in str(x) ]
=> [('Popen', 500)]

这是一个错误吗? (我找不到在哪里报告plumbum中的bug ...)

我也“试验”修改泄漏的Popen对象,试图打破参考周期(假设存在一个,导致泄漏),但它没有帮助。

在linux上运行,plumbum版本1.14.0。

1 个答案:

答案 0 :(得分:1)