Bug#825394: systemd kill background processes after user logs out

Guus Sliepen guus at debian.org
Fri May 27 09:18:39 BST 2016


On Fri, May 27, 2016 at 01:34:09AM +0200, Christian Rebischke wrote:

> Hello,
> You should quote the full changelog and not just
> the part that is 'bad' in your mind.

> >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". 

I mentioned these options later in my bugreport.

> For debian it would be enough to set this to "no" again with 
> --without-kill-user-processes option to "configure"

Yes, I hope the systemd maintainers will indeed make this change.

> >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.
> 
> Here comes the important part. Seems like the systemd-devs are working on a
> way to allow intentionally long-running processes in a specific user scope.
> 
> And here is another way for allowing these long-running processes:
[...]
> And another way for allowing long-running processes.

You are missing the point. The way people using Linux (or any UNIX for
that matter) have been starting background processes for the last 30
years is to just run it with nohup <command> & or in a screen session.
Now suddenly systemd wants to change this, by having you jump through
extra hoops. If there was a damn good reason for this, I would maybe
say, ok, migrating to the new way is worth the pain. But I really don't
see what the benefit of this change is, apart from maybe cleaning up
some stray gconf and pulseaudio processes from the list of processes.

But lets talk about the pain: almost noone will read the changelog. You
cannot expect everyone to read every changelog everytime they upgrade
their machine. You cannot expect people to reread the manual of every
program after every update. So even people who have known the workings
of systemd intimately up to version 229 will be taken by surprise by
this change. And when they find out for the first time that their
background processes have been killed, they won't know why. Even if they
make the connection to their logging in and out of sessions, I'd think
that they still don't know that there is something like logind that
manages "user sessions" for them. So they will start blaming other
things, annoying other people, who in turn will finally get annoyed at
systemd.

Especially if you are told that hey, from now on you have to manually
set your user session to linger, or start your program in a separate
user session, or edit some config file as root on every machine you
maintain, I know that I would be very tempted to just type "sudo apt-get
install sysvinit-core", because that is just easier.

> >Previous defaults can be restored at compile time by the
> >--without-kill-user-processes option to "configure"
> 
> You see? No reason to complain about.

What do you mean? There is every reason to complain about this change in
systemd! If noone complained then noone would do anything about it. I'm
complaining so Debian will change the default behaviour, and I'm
complaining so hopefully some systemd developers get a clue that these
kind of changes are not appreciated.

-- 
Met vriendelijke groet / with kind regards,
      Guus Sliepen <guus at debian.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-systemd-maintainers/attachments/20160527/1155ff7c/attachment-0002.sig>


More information about the Pkg-systemd-maintainers mailing list