STINNER Victor added the comment:
I'm unable to reproduce any memory leak on subprocess itself:
---
import tracemalloc; tracemalloc.start()
import subprocess, gc
def func(loops) :
for x in range(loops):
proc = subprocess.Popen(['true'])
with proc:
proc.wait()
# warmup
func(10)
gc.collect();gc.collect();gc.collect()
print(tracemalloc.get_traced_memory()[1])
func(100)
gc.collect();gc.collect();gc.collect()
print(tracemalloc.get_traced_memory()[1])
gc.collect();gc.collect();gc.collect()
print(tracemalloc.get_traced_memory()[1])
func(100)
gc.collect();gc.collect();gc.collect()
print(tracemalloc.get_traced_memory()[1])
---
Output on Fedora 24 (Linux) and Python 3.5:
---
996450
996450
996450
996450
---
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue28165>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com