可能看起来有些矫kill过正,但是,在这里:
import Queue, thread, subprocessresults= Queue.Queue()def process_waiter(popen, description, que): try: popen.wait() finally: que.put( (description, popen.returnpre) )process_count= 0proc1= subprocess.Popen( ['python', 'mytest.py'] )thread.start_new_thread(process_waiter, (proc1, "1 finished", results))process_count+= 1proc2= subprocess.Popen( ['python', 'mytest.py'] )thread.start_new_thread(process_waiter, (proc2, "2 finished", results))process_count+= 1# etcwhile process_count > 0: description, rc= results.get() print "job", description, "ended with rc =", rc process_count-= 1



