Compare commits
65 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 94bb395417 | |||
| dfd942ca49 | |||
| da1ffe1a7b | |||
| bf85069b32 | |||
| 8cee6abd50 | |||
| 88e05630ae | |||
| 075d94e58c | |||
| 4414293f9b | |||
| 5c7cec8520 | |||
| 29bc62f208 | |||
| 611349e243 | |||
| 52f3117d3f | |||
| 4bcd4cc58b | |||
| 42f42182ae | |||
| 7e0df4a559 | |||
| 8ae151b601 | |||
| 2f3837d07c | |||
| 623bf57bdb | |||
| 7a3bb1a5f0 | |||
| 39eb1aff49 | |||
| 92b54483bd | |||
| 9516f9d5fe | |||
| 339ccd1b47 | |||
| 730374f6d7 | |||
| e2ac26902c | |||
| 5c33fc5712 | |||
| e5fc565433 | |||
| d0d20d7d9c | |||
| f548e6f53d | |||
| 9343c78b33 | |||
| f026de8bb1 | |||
| a715783fbf | |||
| f191b625dc | |||
| 2d748aebc9 | |||
| e733ed4f6a | |||
| a5f93916cd | |||
| 4dee8a29b6 | |||
| 758e841e1e | |||
| a633061d30 | |||
| 51d452934a | |||
| 3c6fb9796b | |||
| 08b7d5631d | |||
| 234ee56bed | |||
| 903d3e9888 | |||
| 025d74179b | |||
| c48486cacf | |||
| 873f0f6809 | |||
| 492e2aa81b | |||
| cb6b3d61df | |||
| 6252f8fc1e | |||
| 21a717762a | |||
| 905b3e0b37 | |||
| 784f4eee49 | |||
| 32b26b5783 | |||
| 6f2db37dff | |||
| 842662f3d5 | |||
| d9f22bf634 | |||
| 587ed04903 | |||
| 8fdd73af45 | |||
| 34a43d4db6 | |||
| 253fd1f094 | |||
| b13b47d1c0 | |||
| 8173828c62 | |||
| 3ead5f0492 | |||
| a921025ce9 |
36
README.md
36
README.md
@@ -6,5 +6,37 @@ Yet another service manager.
|
|||||||
Services
|
Services
|
||||||
--------
|
--------
|
||||||
A service is a script in the ssm's init.d directory.
|
A service is a script in the ssm's init.d directory.
|
||||||
By default it's /etc/ssm/init.d for system services and $XDG_CONFIG_HOME/ssm/init.d for user ones.
|
By default it's /etc/ssm/services for system services and $XDG_CONFIG_HOME/ssm/services for user ones.
|
||||||
ssm creates relevant dirs if they don't exist.
|
|
||||||
|
## Global settings
|
||||||
|
|
||||||
|
* `cgroups = 0` — Enable cgroup-related features.
|
||||||
|
|
||||||
|
## Service config
|
||||||
|
|
||||||
|
Mandatory options:
|
||||||
|
|
||||||
|
* `service_command = /usr/bin/example -a --long-arg "parameter"`
|
||||||
|
|
||||||
|
Optional settings (incomplete list):
|
||||||
|
|
||||||
|
* `service_respawn = no` — Restart the service. Takes `no`, `always`, `on-failure` and `on-success`.
|
||||||
|
* `service_workdir = /`
|
||||||
|
* `service_pidfile` — If the service manages its own pidfile, set this.
|
||||||
|
* `service_pidfile_timeout = 15` — How long to wait for the service to create its pidfile.
|
||||||
|
* `service_pidfile_remove_stale = yes` — Remove stale pidfiles before spawning the service process.
|
||||||
|
* `service_logfile_out = $logdir/$service_name.log` — Logfile for output.
|
||||||
|
* `service_logfile_err = $service_logfile_out` — Logfile for stderr.
|
||||||
|
* `service_stop_timeout = 30` — How long to wait after sending the stop command.
|
||||||
|
* `service_ready_timeout = 15` — How long to wait till the service is ready, in seconds.
|
||||||
|
* `service_stop_signal = 15` — Which signal to send to the service when stopping.
|
||||||
|
* `service_reload_signal = 1` — Which signal to send to the service when reloading.
|
||||||
|
* `service_cgroup_exclusive = no` — Refuse to start the service if the cgroup is not empty.
|
||||||
|
* `service_cgroup_wait = no` — Wait on the entire cgroup to die when stopping the service.
|
||||||
|
* `service_cgroup_strict = 1` — Refuse to do anything if the service's recorded PID is both running and not in the service's appropriate cgroup. This usually means you've either found a bug or something bad happened to your system.
|
||||||
|
* `service_cgroup_kill = no` — Kill the entire cgroup when stopping the service.
|
||||||
|
* `service_cgroup_kill_signal = 15` — Which signal to use for that.
|
||||||
|
* `service_cgroup_cleanup = no` — Kill the entire cgroup on watchdog cleanup. Note that it is distinctly not the same as killing the cgroup on stopping.
|
||||||
|
* `service_success_exit = 0` — Array. Which exit codes to treat as successful termination. Only works for managed services (With no custom pidfile).
|
||||||
|
* `service_oneshot = no` — The service is supposed to do something and die instead of daemonizing.
|
||||||
|
* `service_signals_passthru` — Array, empty by default. Which signals should the svc pass directly to the service mainpid. This is dangerous, use with caution.
|
||||||
|
|||||||
49
ssm.conf
Normal file
49
ssm.conf
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
# This is actually a bash script
|
||||||
|
|
||||||
|
# Enable cgroup-related functions
|
||||||
|
#cgroups = 0
|
||||||
|
|
||||||
|
# Where to search for services, works as a PATH-like array.
|
||||||
|
#service_path = "$XDG_CONFIG_HOME/ssm/services" /etc/ssm/services "$rundir/services" /usr/share/ssm/services
|
||||||
|
|
||||||
|
# Service defaults
|
||||||
|
|
||||||
|
## Respawn the service if it exits
|
||||||
|
#service_respawn = 0
|
||||||
|
|
||||||
|
## Working directory
|
||||||
|
#service_workdir = '/'
|
||||||
|
|
||||||
|
## How long do we wait for the service to stop
|
||||||
|
#service_stop_timeout = 30
|
||||||
|
|
||||||
|
## How long do we wait for the service to get ready
|
||||||
|
#service_ready_timeout = 15
|
||||||
|
|
||||||
|
## Signals to pass through to the service under the respawner
|
||||||
|
#service_signals = 1 10 12
|
||||||
|
|
||||||
|
## The signal to send to reload the service
|
||||||
|
#service_reload_signal = 1
|
||||||
|
|
||||||
|
## The signal to send to stop the service
|
||||||
|
#service_stop_signal = 15
|
||||||
|
|
||||||
|
## These only work with cgroups = 1:
|
||||||
|
|
||||||
|
## Check if the recorded PID of the service is in the correct cgroup.
|
||||||
|
#service_cgroup_strict = 1
|
||||||
|
|
||||||
|
## Refuse to start the service if its cgroup is not empty
|
||||||
|
#service_cgroup_exclusive = 0
|
||||||
|
|
||||||
|
## Wait on all the members of the cgroup to exit when stopping the service.
|
||||||
|
#service_cgroup_wait = 0
|
||||||
|
|
||||||
|
## Send a kill signal to the members of cgroup when
|
||||||
|
## stopping the service, and the signal to send:
|
||||||
|
#service_cgroup_kill = 0
|
||||||
|
#service_cgroup_kill_signal = 15
|
||||||
|
|
||||||
|
# Clean up the cgroup when the service exits for any reason
|
||||||
|
#service_cgroup_cleanup = 0
|
||||||
Reference in New Issue
Block a user