diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-04-23 14:48:56 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-04-23 16:38:11 +0200 |
commit | 95ef8b85b16f19557ea07d0d0cbf856f85657368 (patch) | |
tree | f45f2e796bb1ce3de3be064e6a4ae74631f89626 /gnu/services/shepherd.scm | |
parent | 9fb1ca080861c8418a1cc6710bf0dfef1ee77248 (diff) |
services: shepherd: Support one-shot services.
* gnu/services/shepherd.scm (<shepherd-service>)[one-shot?]: New field.
(shepherd-service-file): Pass #:one-shot? to the <service> constructor.
* doc/guix.texi (Shepherd Services): Document it.
Diffstat (limited to 'gnu/services/shepherd.scm')
-rw-r--r-- | gnu/services/shepherd.scm | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm index 12d649f542..21baacbaf7 100644 --- a/gnu/services/shepherd.scm +++ b/gnu/services/shepherd.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; @@ -44,6 +44,7 @@ shepherd-service-provision shepherd-service-canonical-name shepherd-service-requirement + shepherd-service-one-shot? shepherd-service-respawn? shepherd-service-start shepherd-service-stop @@ -149,6 +150,8 @@ DEFAULT is given, use it as the service's default value." (provision shepherd-service-provision) ;list of symbols (requirement shepherd-service-requirement ;list of symbols (default '())) + (one-shot? shepherd-service-one-shot? ;Boolean + (default #f)) (respawn? shepherd-service-respawn? ;Boolean (default #t)) (start shepherd-service-start) ;g-expression (procedure) @@ -238,6 +241,11 @@ stored." #:docstring '#$(shepherd-service-documentation service) #:provides '#$(shepherd-service-provision service) #:requires '#$(shepherd-service-requirement service) + + ;; The 'one-shot?' slot is new in Shepherd 0.6.0. + ;; Older versions ignore it. + #:one-shot? '#$(shepherd-service-one-shot? service) + #:respawn? '#$(shepherd-service-respawn? service) #:start #$(shepherd-service-start service) #:stop #$(shepherd-service-stop service) |