Python: waiting for external launched process finish


The question already in title – how can one make the python script wait until some process launched with os.system() call is completed ? For example a code like

    for i in range( 0, n ):
       os.system( 'someprog.exe %d' % i )

This launches the requested process n times simultaneously, which may make my pc to sweat a bit )

Thanks for any advice.

Best Solution

Use subprocess instead:

import subprocess
for i in xrange(n):
  p = subprocess.Popen(('someprog.exe', str(i))

Read more here: