On Thu, 2012-03-22 at 14:22 +0000, Daniel P. Berrange wrote: > 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@xxxxxxxxxx> > > > > > > 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 ? Yep: [markmc@zig ~]$ sudo systemctl show libvirtd.service | grep KillMode KillMode=process [markmc@zig ~]$ systemd-cgls /system/libvirtd.service /system/libvirtd.service: ├ 12660 /usr/sbin/libvirtd ├ 20598 /usr/bin/qemu-kvm -S -M pc-0.15 -enable-kvm -m 2048 -smp 1,sockets=1,cores=1,threads=1 -name instance-00000021 -uuid 39e9ec0e-2... └ 20665 /sbin/dnsmasq --strict-order --bind-interfaces --pid-file=/var/run/libvirt/network/default.pid --conf-file= --except-interface ... [markmc@zig ~]$ sudo systemctl restart libvirtd.service [markmc@zig ~]$ systemd-cgls /system/libvirtd.service /system/libvirtd.service: └ 20742 /usr/sbin/libvirtd Cheers, Mark. -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list