Running programs under a python program...

Matthew Woodcraft mattheww at chiark.greenend.org.uk
Wed May 21 18:09:36 EDT 2008


samslists at gmail.com <samslists at gmail.com> wrote:
> So I have a python program that runs a bunch of other programs....it
> then loops forever, occasionally executing other programs.
>
> To run each of these programs my python code executes:
> subprocess.Popen(command_line, shell=True, stdout=fd,
> stderr=subprocess.STDOUT)
>
> where command_line is an appropriate command line.  :)
>
> Now my problem is when I abort this program it kills off all the child
> processes I've started. In this case I don't want that.   How can I
> stop the child processes from dieing when I kill off the parent?

It depends on why the children are dying.

>From what you say, it seems likely that they're trying to write to
their standard output, and exiting because that's a pipe that is now
closed.

If that's the case, it's probably best to start by deciding where you
want that output to go when the parent process has ended. Perhaps you
can just send it all to a log file in the first place.

-M-




More information about the Python-list mailing list