Re: [RFC][PATCH] Notify init when processes are reparented to it

From: Scott James Remnant
Date: Mon Dec 29 2008 - 10:21:34 EST


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

Attachment: signature.asc
Description: This is a digitally signed message part