Messages in this thread | | | Subject | Re: [RFC][PATCH] Notify init when processes are reparented to it | From | Scott James Remnant <> | Date | Mon, 29 Dec 2008 07:21:11 -0800 |
| |
On Mon, 2008-12-29 at 14:23 +0100, Oleg Nesterov wrote:
> On 12/29, Scott James Remnant wrote: > > > > On Sun, 2008-12-28 at 14:01 -0800, Roland McGrath wrote: > > > > > I'm highly skeptical that this is a desireable feature at all, and > > > certainly I find the abuse of siginfo_t.si_status here extremely > > > questionable. I think we need a clear explanation of what problems > > > the feature is intended to address. > > > > > Did the original e-mail not address this? > > Do you mean > > [RFC] Notify init when processes are reparented to it > http://marc.info/?l=linux-kernel&m=123038049428388 > > ? > > I am not sure I really understand the problem. And thus I can't > understand how this patch can help. > No problem ;) like anything, it's only ever perfectly clear to the guy who wrote it - and everyone else wonders what he's going on about :p
> > We want to be able to supervise daemons. > > What do you mean? > > > Later on, 1002 will die and init will receive SIGCHLD for it. > > > > Unfortunately neither the 1001 or 1002 processes are known to init, even > > though they are original children of the process it spawned (1000), for > > init to be notified about them - this has been forgotten. > > Ok, with this patch /sbin/init knows that 1002 is a descendant > of apache(1000) which was spwaned by init. What can init do > with this info? > Fundamentally init would now know that the apache service terminated, and with what exit code or by what signal.
Right now, all we know is that a process terminated (and why) - we can't link that back to a service in any kind of foolproof manner.
With the ability to do that, when the apache service dies, we can log that in a more useful manner (including marking the service as down) - but most importantly, we can respawn it!
This is something we can't do with processes that daemonise right now.
Scott [unhandled content-type:application/pgp-signature] | |