On Fri, May 27, 2016 at 11:51:42AM +0200, Dominique Martinet wrote:
Just noticed this change on rawhide...
* systemd-logind will now by default terminate user processes that are
part of the user session scope unit (session-XX.scope) when the user
logs out. This behavior is controlled by the KillUserProcesses=
setting in logind.conf, and the previous default of "no" is now
changed to "yes". This means that user sessions will be properly
cleaned up after, but additional steps are necessary to allow
intentionally long-running processes to survive logout.
Sure, this change will work for the whole probably targetted audience
simple desktop users on shared workstations where we probably want to
kill lingering processes; but how much is that compared to servers ?
always debatable, but I'd say that there are orders of magnitude
more desktops than servers into which random users can log in to run jobs.
Also note that running jobs in a systemd service has advantages on the
server: better accounting, more transparency, logs are easier to read.
The (old) default of allowing left-over session processes to live on
seems especially bad on a server with multiple users.
I know that if this gets through I will have to change the system
default on all my servers... And while the big batches of thousands of
compute nodes are automated there's still quite a few places to update,
especially since this will be the first time we need to change
logind.conf so it's not just adding a line to a file already propagated
It's two lines: [Login]\nKillUserProcesses=no. But please consider
switching to the new mode of using systemd-run instead.
PS. You asked if this was discusses on systemd-devel: it was on the
bugtracker. See https://github.com/systemd/systemd/pull/3005
and also https://bugs.freedesktop.org/show_bug.cgi?id=94508