aboutsummaryrefslogtreecommitdiff
path: root/src/property/systemd.lisp
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-10-19 15:47:43 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-11-01 11:35:59 -0700
commit6c58519f7c03a8e59092a738b65d5ace07a8eac1 (patch)
tree2e86f5196435eca890ee09c09a4ff4832265e5c7 /src/property/systemd.lisp
parent0c74086ba8eae9538b4999bdb90d3cc0cdec394e (diff)
downloadconsfigurator-6c58519f7c03a8e59092a738b65d5ace07a8eac1.tar.gz
add SYSTEMD:{DAEMON-RELOADED,RELOADED,RESTARTED}
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/property/systemd.lisp')
-rw-r--r--src/property/systemd.lisp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/property/systemd.lisp b/src/property/systemd.lisp
index a9f0c90..ad23867 100644
--- a/src/property/systemd.lisp
+++ b/src/property/systemd.lisp
@@ -29,6 +29,12 @@
(defun systemctl (fn user &rest args &aux (args (cons "systemctl" args)))
(apply fn (if user (apply #'systemd--user args) args)))
+(defprop daemon-reloaded :posix (&optional user)
+ (:desc "Attempt to reload systemd manager configuration")
+ (:apply (if (service:no-services-p)
+ :no-change
+ (systemctl #'mrun user "daemon-reload"))))
+
(defprop started :posix (service &optional user)
(:desc #?"systemd service ${service} started")
(:check (or (service:no-services-p)
@@ -41,6 +47,18 @@
(plusp (systemctl #'mrun user :for-exit "is-active" service))))
(:apply (systemctl #'mrun user "stop" service)))
+(defprop restarted :posix (service &optional user)
+ (:desc #?"Attempt to restart systemd service ${service}")
+ (:apply (if (service:no-services-p)
+ :no-change
+ (systemctl #'mrun user "restart" service))))
+
+(defprop reloaded :posix (service &optional user)
+ (:desc #?"Attempt to reload systemd service ${service}")
+ (:apply (if (service:no-services-p)
+ :no-change
+ (systemctl #'mrun user "reload" service))))
+
(defprop enabled :posix (service &optional user)
(:desc #?"systemd service ${service} enabled")
(:check (or (and user (service:no-services-p))