How to schedule system calls with Python

Jeremy jlconlin at
Thu Oct 15 22:52:21 CEST 2009

On Oct 15, 2:15 pm, TerryP <bigboss1... at> wrote:
> On Oct 15, 7:42 pm, Jeremy <jlcon... at> wrote:
> > I need to write a Python script that will call some command line
> > programs (using os.system).  I will have many such calls, but I want
> > to control when the calls are made.  I won't know in advance how long
> > each program will run and I don't want to have 10 programs running
> > when I only have one or two processors.  I want to run one at a time
> > (or two if I have two processors), wait until it's finished, and then
> > call the next one.
> > How can I use Python to schedule these commands?
> > Thanks,
> > Jeremy
> External programs are not system calls; external programs are invoked
> through system calls; for example system() is a function call which
> when implemented under UNIX systems invokes some form of fork() and
> exec(), and likely spawn() under Windows NT.
> If you want simple sequenceal execution of external programs, use a
> suitable blocking function to execute them (like system) combined with
> a simple loop over the sequence of commands to run.
> for prog in ['cmd1', 'cmd2', 'cmd3']:
>     os.system(prog)
> blah.
> For anything more detailed (or complex) in response, try being more
> detailed yourself ;).

This is the solution I wanted.  I thought that os.system(prog) would
return immediately regardless of how long prog takes to run.  I should
have tried this simple solution first.  Thanks for being patient.


More information about the Python-list mailing list