runit
runit - service dependencies
runit's service supervision resolves dependencies for service daemons
designed to be run by a supervisor process automatically.
The service daemon (or the corresponding run scripts) should behave
as follows:
- before providing the service, check if all services it depends on are
available.
If not, exit with an error, the supervisor will then try again.
- write all logs through runit's logging facility.
The runsv program takes care that all logs for
the service are written safely to disk.
Therefore there's no need to depend on a system logging service.
- optionally when the service is told to become down, take down other
services that depend on this one after disabling the service.