On Oct 15, 2:15 pm, TerryP <bigboss1...@gmail.com> wrote: > On Oct 15, 7:42 pm, Jeremy <jlcon...@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']: > 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. Jeremy -- http://mail.python.org/mailman/listinfo/python-list