John Abel <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> http://www.mired.org/home/mwm/ Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information. -- http://mail.python.org/mailman/listinfo/python-list