Persistant Zombies and a sanity check
I use htmldoc to generate pdf documents connecting to Zope via a simple popen2() call in an external procedure which pipes input to htmldoc and grabs output from htmldoc. The htmldoc process remains in the process table as a zombie and remains there until Zope is restarted. To avoid persistant zombies, I'll need to not use the factory function, popen2, and do a bit closer management of the process--that is, the parent will need to iexecute a wait on the child (htmldoc) so that when it completes the child process can die. Am I missing something? -dra
On Thu, 2 Oct 2003, Dennis Allison wrote:
I use htmldoc to generate pdf documents connecting to Zope via a simple popen2() call in an external procedure which pipes input to htmldoc and grabs output from htmldoc. The htmldoc process remains in the process table as a zombie and remains there until Zope is restarted.
To avoid persistant zombies, I'll need to not use the factory function, popen2, and do a bit closer management of the process--that is, the parent will need to execute a wait on the child (htmldoc) so that when it completes the child process can die.
Am I missing something?
--- q! qq On second thought, the problem has to lie elsewhere. Popen3() which is the underlying class, waitsA
Dennis Allison wrote at 2003-10-2 00:31 -0700:
I use htmldoc to generate pdf documents connecting to Zope via a simple popen2() call in an external procedure which pipes input to htmldoc and grabs output from htmldoc. The htmldoc process remains in the process table as a zombie and remains there until Zope is restarted.
To avoid persistant zombies, I'll need to not use the factory function, popen2, and do a bit closer management of the process--that is, the parent will need to iexecute a wait on the child (htmldoc) so that when it completes the child process can die.
Do you call "close" on your file objects? Dieter
Yes, the file objects are all properly closed. It's a bit of a puzzle. On Fri, 3 Oct 2003, Dieter Maurer wrote:
Dennis Allison wrote at 2003-10-2 00:31 -0700:
I use htmldoc to generate pdf documents connecting to Zope via a simple popen2() call in an external procedure which pipes input to htmldoc and grabs output from htmldoc. The htmldoc process remains in the process table as a zombie and remains there until Zope is restarted.
To avoid persistant zombies, I'll need to not use the factory function, popen2, and do a bit closer management of the process--that is, the parent will need to iexecute a wait on the child (htmldoc) so that when it completes the child process can die.
Do you call "close" on your file objects?
Dieter
participants (2)
-
Dennis Allison -
Dieter Maurer