On Fri, 27.05.16 19:03, Paul Wouters (paul(a)nohats.ca) wrote:
On Fri, 27 May 2016, Chris Murphy wrote:
>It seems to me systemd should be able to know the difference between
>a program that's zombie or unresponsive but isn't doing anything or is
>unresponsive but is doing something; and if not then some way for
>programs to say "hey wait just a minute, I need to clean things up" or
>whatever, rather than just abruptly killing them.
That invention is otherwise known as "unix signals".
systemd should not be the process police. If there is a systematic
problem of badly written code leaving orphaned code running when
a user logs out, then that broken code should be fixed instead of
adding another layer of process management. systemd is not capable
of interpreting the user's intent.
Sorry, but systemd is pretty exactly this: a process babysitter. In
fact, before it was named "system" it actually was called "BabyKit",
in reference to its job of babysitting processes.
It's job is to run processes in clean and well-defined execution
environments, and to ensure these execution environments are cleaned
up properly afterwards.
Lennart Poettering, Red Hat