Defunct Processes With subprocess.Popen
Mike Meyer
mwm at mired.org
Thu May 12 00:39:03 EDT 2005
John Abel <jabel at plus.net> writes:
> Hi!
>
> I'm currently writing a script which launches external programs, but
> it keeps leaving zombie/defunct processes behind, until I kill the
> launching script, which is a bit of a pain, as it's supposed to be a
> daemon. The code I'm using is:
>
> newPid = subprocess.Popen( cmdLine[ 1: ], executable=cmdLine[ 0 ],
> close_fds=True ).pid
>
> I've tried calling it using the shell=True flag, but that leaves a
> zombie for the sh, instead. I'm not interested in any output, the
> only thing I need returning, is the pid of the new process. I've
> tried using spawn*, with the same results. Does anyone have any ideas?
The processes are hanging around in a zombie state so the parent (or
someone) can get their exit status.
Try calling os.wait() until it returns the exit status for all the
processes you've started.
<mike
--
Mike Meyer <mwm at mired.org> http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
More information about the Python-list
mailing list