guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#30532] [PATCH] Shepherd: Terminate all services upon SIGTERM or SIG


From: Carlo Zancanaro
Subject: [bug#30532] [PATCH] Shepherd: Terminate all services upon SIGTERM or SIGHUP
Date: Fri, 02 Mar 2018 18:25:26 +1100
User-agent: mu4e 1.0; emacs 25.3.1

Hey Leo,

On Fri, Mar 02 2018, Leo Famulari wrote:
I'd rather we address this use case as described previously, with something like 'enable-linger'.

I've not used the enable-linger functionality of systemd, but after doing some reading, maybe it could work like this?

At boot-time we could start an instance of shepherd for each permitted user (maybe with a `lingering-user-service-type` which adds a shepherd service?). It loads ~/.config/shepherd/init.scm, and starts any services which are enabled. It also adds a pseudo-service "login", which allows a user to specify a dependency on there being a current user session (so shepherd can be told to start processes on login, and to terminate them on logout).

For users who don't have a `lingering-user-service-type` running, pid 1 will listen until they log-in and will start a shepherd instance for them on login, loading ~/.config/shepherd/init.scm. When they logout pid 1 will terminate their user shepherd instance (along with any services it started).

This will require a few more changes to shepherd before it can work, but does that sound like the sort of behaviour you want? Could you open a new bug about it?

Carlo

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]