calling a program without waiting for it to finish

Jp Calderone exarkun at
Thu Mar 20 18:41:19 CET 2003

On Thu, Mar 20, 2003 at 09:07:42AM -0800, Brian Munroe wrote:
> > the shell interactively, only, of course!-) as soon as it's done
> > setting things up, so the pipeline runs in separate processes.
> > 
> > os.system delegates the whole operation to the system shell (normally
> > sh) so the above information should be directly applicable...
> > 
> So if you enter os.system('ping &') it will basically shell out
> to the os and run the ping command in the background?  If you use ping
> without a -n option (atleast on the machine I am on) it will continue
> to ping forever (or until ^C)
> So, do you know if this process terminates when the python script
> finishes, or will it continue to run in the background?  If it continues
> to run, this could cause problems.
> I would try it, but I don't have access to a python interpeter at the
> moment.

  Python is the parent of the shell os.system() creates, and so is the
parent of the ping process that shell execvs itself into.

  Like any other parent/sibling relationship, the parent disappearing has
negligible effect on the child.  The ping will continue to run after Python

  Check out the commands and popen2 module, these might provide a workable
alternative to os.system().


Examinations are formidable even to the best prepared, for
even the greatest fool may ask more the the wisest man can answer.
                -- C.C. Colton
 up 13:58, 4 users, load average: 0.55, 0.57, 0.47

More information about the Python-list mailing list