I'm using Python 2.4.3 for Win32.
I was trying to run a few child processes simultaneously in separate
threads and get their STDOUT, but the program was leaking memory and I
found that it was because of subprocess operating in another thread.
The following code works fine, but I get a leaking handle every second.
You can see it in the task manager if you choose to see the <handle
count> column. Does anybody have a solution? Please help!

import subprocess, time, thread

def comm(command):
        run = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
        out, err = run.communicate()
        print out

while 1:
        thread.start_new_thread(comm, ("dir",))
        time.sleep(1)

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to