[Zope] defunct process with os.spawn*

Chris McDonough chrism at plope.com
Wed Aug 2 15:18:07 EDT 2006


You need to call os.waitpid() at some point to clean up finished  
processes.

- C

On Aug 2, 2006, at 1:59 PM, Jonathan wrote:

>
> ----- Original Message ----- From: "Alan" <alanwilter at gmail.com>
> To: <zope at zope.org>
> Sent: Wednesday, August 02, 2006 1:52 PM
> Subject: [Zope] defunct process with os.spawn*
>
>
>> Dears,
>>
>> Now I am facing an annoying problem.
>>
>> I have an application in Zope which calls a External Method, which
>> calls a bash script via:
>>
>> var_pid = os.spawnlp(os.P_NOWAIT, 'script.sh', 'script.sh',  
>> arg1,arg2)
>>
>> The idea is to start some programs in background (which will take
>> hours running) and I need to pass arguments and track its PID for
>> eventually checking its status. So os.spawnlp seemed the perfect
>> solution.
>>
>> However, when my bash script finished, my processes gets <defunct>
>> childed to the Zope process. And only restarting Zope to get rid of
>> such defunct process, an unthinkable solution.
>
> It sounds like you are generating zombie processes (child processes  
> which have completed, but are not handled by the processes that  
> spawned them). Try googling:  python reap spawned process
>
>
> Jonathan
>
>
> _______________________________________________
> Zope maillist  -  Zope at zope.org
> http://mail.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
> http://mail.zope.org/mailman/listinfo/zope-dev )
>



More information about the Zope mailing list