[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#30532] [PATCH] Shepherd: Terminate all services upon SIGTERM or SIG
From: |
Ludovic Courtès |
Subject: |
[bug#30532] [PATCH] Shepherd: Terminate all services upon SIGTERM or SIGHUP |
Date: |
Tue, 27 Feb 2018 22:03:54 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Leo Famulari <address@hidden> skribis:
> On Tue, Feb 27, 2018 at 10:45:58AM +0100, Ludovic Courtès wrote:
>> Carlo Zancanaro <address@hidden> skribis:
>>
>> > I use Shepherd to manage my user session, and if I log out then
>> > Shepherd leaves all my services running. This patch handles SIGTERM
>> > and SIGHUP to prevent that.
>>
>> Good catch!
>
> "This update broke my workflow" <https://xkcd.com/1172/>
>
> Joking aside, I think this change is correct, but it would be great to
> be able to have long-running unprivileged processes, as on systemd.
> There, the administrator can use `loginctl enable-linger $USER`. We'd
> want to do it in the system configuration. From loginctl(1):
>
> ------
> Enable/disable user lingering for one or more users. If enabled for a
> specific user, a user manager is spawned for the user at boot and kept
> around after logouts. This allows users who are not logged in to run
> long-running services. Takes one or more user names or numeric UIDs as
> argument. If no argument is specified, enables/disables lingering for
> the user of the session of the caller.
> ------
Indeed, that sounds useful.
I suppose on GuixSD PID 1 could start subprocesses (with an initially
empty config file?) for selected users at boot time. Would that make
sense?
Ludo’.