A lightweight init-style service management tool written in Go.
- Works independently in user home directory.
- Save current service list to a new file for easy loading/unloading sets of services.
- Utilizes a Unix socket server. Includes a built-in client for managing services.
- Reboot all services with a single command.
- All working files reside in the HOME/.inigo directory unless otherwise specified (save/load).
- Current services are automatically saved to default 'services' file every add, remove, enable, and disable.
- Service output is logged to ~/.inigo directory in a file named with the corresponding service name.
Start up the server to begin managing services. Ideally you should run this in the background.
inigo -server
Shutdown will interrupt all services and close the server program.
inigo -shutdown
When adding a service, the program name is used as the service name by default. But you can edit the services file to change it.
inigo -add ping www.google.com
Services are enabled by default when added. But they are not started automatically until next 'boot'. To manually start a service do:
inigo -start ping
Stopping a service sends an interrupt signal to the process then removes it from the process map.
inigo -stop ping
Removing a service removes it from the current services list (as long as its not running).
inigo -remove ping
Enabling a service sets it to run automatically on 'boot'. Services are enabled by default when added.
inigo -enable ping
Disabling a service will stop it from running automatically at 'boot'.
inigo -disable ping
Services can be saved to a separate file to create different sets of services.
inigo -save ~/path/file
Unload will interrupt and unload all current processes & services.
inigo -unload
Load the set of services from a specific file.
inigo -load ~/path/file
Reload all current services from default services file.
inigo -reload
Interrupt all services then boot all currently enabled services.
inigo -reboot