On Thu, Apr 18, 2019 at 5:38 PM Ludovic Courtès <l...@gnu.org> wrote: > > Hello Guix! > > Today I added support for “one-shot” services in the Shepherd: > > > https://git.savannah.gnu.org/cgit/shepherd.git/commit/?id=c121eedfff7a50feddcf08e173d2b0dd807e8804 > > One-shot services start, perform a short action, and are immediately > marked as “stopped.” (systemd has something similar: > <https://www.freedesktop.org/software/systemd/man/systemd.service.html>.) > > The use case is initialization or cleanup actions like the ‘user-homes’ > service. So far ‘user-homes’ is a regular service whose ‘start’ method > always fails; as a result, we always see this message: > > Service user-homes could not be started. > > From there on, we’ll be able to mark this service as one-shot (patch > below), and thus shepherd will notice that it successfully started (or > not) and yet mark it as stopped, which was always the intent. > > There are other cases where this could be useful. For instance, we > could turn service activation snippets into one-shot services. > > Since this augments the Shepherd API, I plan to release it as 0.6.0 > in time for Guix 1.0. It contains other rather minor changes compared > to 0.5.0. > > Feedback welcome!
A big +1 from me. I use one-shot systemd services all the time. - Dave