[systemd-devel] systemd kills mdmon if it was started manually by user

Lennart Poettering lennart at poettering.net
Wed Nov 2 16:39:00 PDT 2011


On Wed, 02.11.11 15:18, Williams, Dan J (dan.j.williams at intel.com) wrote:

> 
> On Wed, Nov 2, 2011 at 8:29 AM, Lennart Poettering
> <lennart at poettering.net> wrote:
> > On Wed, 02.11.11 16:21, Kay Sievers (kay.sievers at vrfy.org) wrote:
> >
> >>
> >> On Wed, Nov 2, 2011 at 16:17, Lennart Poettering <lennart at poettering.net> wrote:
> >> > Kernel threads we detect by checking whether /proc/$PID/cmdline is
> >> > empty, hence I'd suggest we use the first char of argv[0][0] here, to
> >> > detect whether something is a process to avoid killing. Question is
> >> > which char to choose for that. I am tempted to use '@'.
> >>
> >> Maybe introduce a 'initramfs' cgroup and move the pids there?
> >
> > Well, in which hierarchy? I am a bit concerned about having other
> > subsystems muck with the systemd cgroup hierarchy, before systemd has
> > set it up.
> >
> > I can see some elegance in having all code from the initrd that remains
> > running during boot in a cgroup of its own, but that's probably
> > orthogonal to finding a way to recognize processes not to kill at
> > shutdown. Why? Because there's stuff like Plymouth which also stays
> > around from the initramfs, but actually is something we *do* want to
> > kill on shutdown.
> 
> So how about rather than binaries self modifying themselves as "please
> don't kill me" with argv[][], shutdown can just avoid process where
> /proc/$PID/cmdline starts with /run/initramfs?  Then it's up to  where
> the initramfs runs the binary to determine which instances it wants
> provenance over versus leaving to the init system.

Nope, whether something should be excluded of killing during shutdown is
orthogonal to being part of the initramfs. For example, Plymouth
(i.e. the graphical boot splash thingy) is started form initrd too, but
we definitely want to kill it on shut down.

I am a bit concerned about checks against paths since initrd might play
some namespacing games and the paths might not appear to the main system
they way you'd expect.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list