Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Mar 2014 22:11:52 +0100
From:      Ben Morrow <ben@morrow.me.uk>
To:        freebsd-stable@freebsd.org
Subject:   Re: Process handlers, and zombies, or preap(1)
Message-ID:  <20140331211147.GA52184@anubis.morrow.me.uk>
In-Reply-To: <26dbb84bafaf0114cb75c3fbe060d412.authenticated@ultimatedns.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Quoth "Chris H" <bsd-lists@bsdforge.com>:
>  I'm evaluating/experimenting on releng_9. The install, and now
> custom kernel have noting exotic, or anything out of the ordinary.
> top(1), and ps(1) indicate a (1) zombie, or <defunct> process. On
> my releng_8 systems, when I occasionally encounter one of these,
> they soon disappear (are reaped) from the process table. While I
> have not investigated this far enough on both versions to determine
> whether the parent process reaped the child on the releng_8 systems,
> and the parent on releng_9 is simply an irresponsible parent, eg;
> a different parent.

What is the parent?

> Before I do, I was wondering if there was any
> specific difference between the 2 versions that might cause better
> handling of such situations. While I recognize that resource
> starvation is HIGHLY unlikely, except by perhaps a rouge parent

A rouge parent? :)

> spawning multitudes of zombies. I thought it might be useful for
> "housekeeping" to 1) provide a process table housekeeper (zombie
> reaper),

That's called init(8). When the parent exits, init will wait for the
zombie.

> or 2) create a system utility/command like SunOS/OpenSolaris
> has; preap(1).

That seems like a bad idea, to me. Generally speaking I would expect it
to be safer to kill and restart the parent, allowing init to do its job.

Ben




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140331211147.GA52184>