Messages in this thread | | | Date | Tue, 21 Dec 2010 10:56:25 +0100 | From | Lennart Poettering <> | Subject | Re: [PATCH] exit: PR_SET_ANCHOR for marking processes as reapers for child processes |
| |
On Mon, 20.12.10 14:26, Scott James Remnant (scott@netsplit.com) wrote:
> > This patch adds a simple flag for each process that marks it as an > > "anchor" process for all its children and grandchildren. If a child of > > such an anchor dies all its children will not be reparented to init, but > > instead to this anchor, escaping this anchor process is not possible. A > > task with this flag set hence acts is little "sub-init". > > > Why can't you simply begin a new pid namespace with the session > manager or other process supervisor? That way the session > manager/process supervisor is for all intents and purposes an init > daemon, so shouldn't be surprised about getting SIGCHLD.
PID namespaces primarily provide an independent PID numbering scheme for a subset of processes, i.e. so that identical may PIDs refer to different processes depending on the namespace they are running in. As a side effect this also provides init-like behaviour for processes that aren't the original PID 1 of the operating system. For systemd we are only interested in this side effect, but are not interested at all in the renumbering of processes, and in fact would even really dislike if it happened. That's why PR_SET_ANCHOR is useful: it gives us init-like behaviour without renaming all processes.
Lennart
-- Lennart Poettering - Red Hat, Inc.
| |