On Thu, Mar 30, 2017 at 10:15:02AM +0300, Dmitry Bogatov wrote:

> > > > it would be great to be able to use runit to supervise processes 
> > > > running in
> > > > vserver guests.
> > > >
> > > > Using a kludge, this is already sort of possible; see
> > > > http://linux-vserver.org/Running_runit-supervised_services_inside_a_vserver
> > > >
> > > > Essentially, the only addition needed is to do something like
> > > >
> > > > xid_t xid = vc_get_task_xid(child);
> > > > vc_ctx_kill(xid, child, signal);
> > > >
> > > > instead of just kill(), provided vserver support is enabled in runit 
> > > > and the
> > > > kernel.
> > >
> > > control: tags -1 +moreinfo
> > >
> > > Is there still someone who wish to make this change?  If there, I still
> > > oppose of introducing dependency. Even optional. Especially optional.
> >
> > I suppose introducing a new dependency could be avoided thusly: in runsvdir,
> > instead of invoking runsv for each directory, check whether the directory
> > contains a file called runsv, and if it does, launch that instead of runsv.
> > This would be totally backwards compatible.
> 
> Nice idea. But why can not you just invoke 'exec run-in-my-namespace
> /sbin/program? in 'run' script?

Because vanilla runsv would be unable to send its child signals if the child    
                                                                                
                                                                                
                                          
runs in a different namespace/security context.

> > This change would allow people to use runsv replacements that expose the
> > same interface to runsvdir(8) and sv(8) but for example support managing
> > children that run in a different pid namespace.

Andras

-- 
    *Real* real programmers use 'bzcat > a.out' 'cause you can type faster.

Reply via email to