https://github.com/otwieracz/clj-systemd

clj-systemd is a Clojure library that provides an interface to systemd through D-Bus, allowing Clojure applications to query and control systemd units programmatically. It is built on top of the java-systemd library and exposes its functionality through idiomatic Clojure functions.

The library supports the core operations needed for systemd interaction: retrieving services, units, and timers by name, as well as starting, stopping, and restarting units with configurable start modes. It also provides a daemon reload function. These operations cover the most common use cases for applications that need to manage or monitor system services at runtime.

clj-systemd integrates with the danielsz/system and com.stuartsierra/component frameworks through a dedicated component, making it easy to include systemd access as a managed dependency in a component-based application. It can also be used standalone for simpler setups where a full component system is not needed.