How to schedule system calls with Python
jlconlin at gmail.com
Thu Oct 15 22:52:21 CEST 2009
On Oct 15, 2:15 pm, TerryP <bigboss1... at gmail.com> wrote:
> On Oct 15, 7:42 pm, Jeremy <jlcon... at gmail.com> 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']:
> 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