Defunct Processes With subprocess.Popen

John Abel jabel at plus.net
Thu May 12 03:53:37 EDT 2005


Mike Meyer wrote:

>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
>  
>
Ahh, OK.  Thanks for that.  Works now.

J



More information about the Python-list mailing list