Hi On Sat, Nov 29, 2014 at 12:35 PM, Ross Lagerwall <rosslagerw...@gmail.com> wrote: > Hi, > > On recent versions of systemd, unit_kill_context doesn't set > wait_for_exit to true which means that service_enter_signal sends > SIGTERM, immediately moves into stop-sigkill and sends SIGKILL, ignoring > TimeoutStopSec and often killing processes without giving them a chance > to cleanup. > > Reverting the following change, fixes the problem: > > commit 1baccdda2e954214e0c5463d6ed8f06009b33c41 > Author: Lennart Poettering <lenn...@poettering.net> > Date: Wed Feb 5 02:22:11 2014 +0100 > > core: don't wait for non-control/non-main processes when killing > processes on the host either > > Since the current kernel cgroup notification logic is easily confused by > existing subgroups, let's do the same thing as in containers before. and > just not wait for non-control and non-main processes. > > This should be corrected as soon as we have sane cgroup notifications > from the kernel.
The commit-message and the comment it adds should answer your question: The kernel cgroup API does not allow us to wait for non-control processes. That is, we still honor TimeoutStopSec and friends if we have to wait for the main-process and/or control process (in those cases, wait_for_exit is still set to true). However, if there are other processes remaining in the cgroup, we now ignore it. See the commit you mentioned for an explanation. Thanks David _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel