[libvirt] [PATCH] Leave all child processes running when stopping systemd service
Daniel P. Berrange
berrange at redhat.com
Thu Mar 22 14:22:49 UTC 2012
On Thu, Mar 22, 2012 at 02:10:30PM +0000, Mark McLoughlin wrote:
> On Thu, 2012-03-22 at 14:03 +0000, Daniel P. Berrange wrote:
> > From: "Daniel P. Berrange" <berrange at redhat.com>
> >
> > Currently the libvirt.service unit file for systemd does not
> > specify any kill mode. So systemd kills off every process
> > inside its cgroup. ie all dnsmasq processes, all virtual
> > machines. This obviously not what we want. Set KillMode=process
> > so that it only kills the top level process of libvirtd
> >
> > * daemon/libvirtd.service.in: Add KillMode=process
>
> I was still looking through this. Try doing:
>
> $> systemctl restart libvirtd.service
>
> It's killing the existing processes in the cgroup when starting the
> service. From poking at an strace, this looks like the code that's doing
> it:
>
> http://cgit.freedesktop.org/systemd/systemd/tree/src/service.c?id=75c8e3cf#n2093
It didn't kill guests/dnsmasq in my testing. Are you sure you did
a 'systemctl daemon-reload' after adding the KillMode flag to the
unit file ?
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list