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 <rep...@bugs.python.org>
<http://bugs.python.org/issue28165>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to