This is a fork of the kardianos/service. The original repository is no longer maintained actively. This fork is intended to fix bugs, refactor the code and merge upstream pull requests.
go get -u github.com/iyear/sysvc- Move all scripts/configs to
.tmplfiles. - Add
ConfigPath()function toServiceinterface to get the path of the configuration file. (OnWindowsit returnsErrNoConfigPatherror) - Upgrade
golang.org/x/systo latest version. - Support for listing all services on the system.
- Write and run unit tests on GitHub Actions.
- [OpenRC] Support for running as specific user.
- [Systemd] Support custom
RestartSecvalue. Upstream#324 - [Procd] Support
Procdinit system used in OpenWRT. Upstream#366 - [Windows] Reduce permission requirement to query service status. Upstream#402
service will install / un-install, start / stop, and run a program as a service (daemon). Currently supports Windows XP+, Linux/(systemd | Upstart | SysV), and OSX/Launchd.
Windows controls services by setting up callbacks that is non-trivial. This is very different then other systems. This package provides the same API despite the substantial differences. It also can be used to detect how a program is called, from an interactive terminal or from a service manager.
- Dependencies field is not implemented for Linux systems and Launchd.
- OS X when running as a UserService Interactive will not be accurate.