> > You can't kill a zombie as it's already dead. If you were running
> > Solaris 9 you could use preap, which persuades the parent of a zombie to
> > wait() for its child.
> Wow, Sun finally has something to deal with it!
> Can youz post the man page?
User Commands preap(1)
preap - force a defunct process to be reaped by its parent
preap [-F] pid...
A defunct (or zombie) process is one whose exit status has
yet to be reaped by its parent. The exit status is reaped
via the wait(2), waitid(2), or waitpid(2) system call. In
the normal course of system operation, zombies may occur,
but are typically short-lived. This may happen if a parent
exits without having reaped the exit status of some or all
of its children. In that case, those children are reparented
to PID 1. See init(1M), which periodically reaps such
An irresponsible parent process may not exit for a very long
time and thus leave zombies on the system. Since the operat-
ing system destroys nearly all components of a process
before it becomes defunct, such defunct processes do not
normally impact system operation. However, they do consume a
small amount of system memory.
preap forces the parent of the process specified by pid to
waitid(2) for pid, if pid represents a defunct process.
preap will attempt to prevent the administrator from
unwisely reaping a child process which might soon be reaped
by the parent, if:
o The process is a child of init(1M).
o The parent process is stopped and might wait on the
child when it is again allowed to run.
o The process has been defunct for less than one minute.
The following option is supported:
-F Forces the parent to reap the child, overriding safety
The following operand is supported:
pid Process ID list.
The following exit values are returned by preap, which
prints the exit status of each target process reaped:
0 Successfully operation.
Failure, such as no such process, permission denied,
or invalid option.