[Zope] why I don't use popen2 any more

Dieter Maurer dieter@handshake.de
Thu, 21 Dec 2000 23:37:05 +0100 (CET)


Dennis Nichols writes:
 > ... Zombies ...
 > I *think* the really bad thing about these processes (called zombies?) is 
 > that they may have certain resources, such as files, held open.
They are not *THAT* bad. All file descriptors are already closed,
when the process enters the Zombie state.
The only resource, it still helds, is the process resource.
There is a per user limit and a system wide limit on process
resources. Thus, if there are too many Zombies, you will
no longer be able to create new processes.

 > And they 
 > are said to stay around until the process that created them dies itself.
Unix is a social operating system: parents have responsibilities
towards their offspring.
Zombies are the children of bad, unsocial parents.
They disappear, when either the parent dies itself
(they are then reparented to a social parent) or
the parent finally fulfills its obligations.

What Unix requires from a parent is, that it is interested
at least in the childs death.
The parent shows this interest by calling the wait
system call ("os.wait").
Usually, the parent blocks until a child dies.
But "wait" can be called with a non-blocking parameter.



Dieter