On Sat, Jul 30, 2016 at 3:11 PM, Tomasz Torcz <tomek(a)pipebreaker.pl> wrote:
If KillUserProcessess is on, systemd logs when cleanup happens (in
It is up to admin to connect the dots.
Yep, it is different with systemd v231.
systemd: user(a)1000.service: Killing process 4866 (btrfs) with signal SIGKILL.
What's interesting is that 'btrfs scrub' process goes from status S to
Z. However, 'btrfs balance', even though it receives the same SIGKILL
from systemd, remains running with status R and D. And so does 'btrfs
replace'. The session is definitely gone per loginctl, but the process
started in that user session is still running for the entire balance
and replace. This took several minutes, so I don't think it's just
some kind of delayed death. Maybe only processes with status S are
subject to SIGKILL, and R and D can ignore it? *shrug*
Both top and ps report that the user for these processes is root,
which makes sense because I used sudo to run them. However, the
default KillExcludeUsers=root appears to not apply to user ownership
of the process but rather user session. So even if I were to sudo -i,
or use su -c, and then exit the DE, apparently those processes are
subject to SIGKILL. That's questionable.
> systemd KillUserProcesses=yes and btrfs scrub
Why do you require systemd v230? KillUserProcess exists for
5 years already, it should work the same with all systemd.
Has anything changed in 230?
That's misleading. The logic was that it's the default starting with
systemd v230. I updated the bug.