Published a new crate - service-manager - to interact with launchd, systemd, sc.exe, and more
Repository: https://github.com/chipsenkbeil/service-manager-rs
Wanted to share a new crate I published today geared towards streamlining the setup process of turning a command line application into a service. I'm using this to power the service feature of distant (in an upcoming release) and thought I'd move it out into its own crate.
The crate currently supports five different service management platforms as well as user level services (for launchd and systemd):
sc.exefor use with Window Service (Windows)- Launchd (MacOS)
- systemd (Linux)
- OpenRC (Linux)
- rc.d (FreeBSD)
All five systems have CI tests included for some basic verification, and I've also done some manual testing across all operating systems and platforms. The configuration options are barebones as I wrote this to support my use case: non-forking application that restarts and runs on all major platforms. I do think it is in a state that can be easily extended with service-specific configuration settings.