aboutsummaryrefslogtreecommitdiff
path: root/sh/supervise-daemon.sh
AgeCommit message (Collapse)Author
2022-12-07supervise-daemon: don't overwrite empty supervise_daemon_argsJakub Jirutka
If supervise_daemon_args is not set *or empty*, it defaults to `start_stop_daemon_args`. This is bad because supervise-daemon doesn't accept the same options as `start-stop-daemon`. So if we set e.g. `start_stop_daemon_args="--wait 50"`, but not `supervise_daemon_args`, and the user adds `supervisor=supervise-daemon` to the corresponding /etc/conf.d/<service> file, the service will fail to start due to unrecognized option "wait". It would be best to remove this fallback, but that might break some existing scripts that depend on it. So this commit just changes it to use `start_stop_daemon_args` as the default for `supervise_daemon_args` only if `supervise_daemon_args` is not set at all, but not if it's empty. This at least simplifies workarounds; we can just add `supervise_daemon_args="$supervise_daemon_args"` to init scripts. This fixes #558.
2022-02-06linux: Add support for No New Privs flagLinkTed
This add No New Privs flag for start-stop-daemon and supervise-daemon by adding --no-new-privs flag. As a result, the user set the No New Privs flag for the program should run with. see PR_SET_NO_NEW_PRIVS prctl(2)
2022-02-06capabilities: Add support for securebits flagsLinkTed
This adds securebits flags for start-stop-daemon and supervise-daemon by adding --secbits option. As a result, the user can specify securebits the program should run with. see capabilities(7)
2021-12-23capabilities: Add support for Linux capabilities(7)LinkTed
This adds capabilities for start-stop-daemon by adding --capabilities option. As a result, the user can specify the inheritable, ambient and bounding set by define capabilities in the service script. This fixes #314.
2021-12-20use HEAD in git URIs to point to the default branchMike Frysinger
This makes the URIs shorter and dynamic: whatever the default branch the repo uses will be used.
2018-12-03supervise-daemon.sh: drop the unused stopsig variableWilliam Hubbs
2018-12-03supervise-daemon: use a default pid file if one is not specifiedWilliam Hubbs
Since the pid file is internal to us, start moving toward deprecating it by not requiring the user to specify it. In the next release, I plan on working on code to start phasing out the use of a pid file if this is possible.
2018-11-15supervise-daemon: make the pidfile an implementation detailWilliam Hubbs
The pidfile of the supervisor doesn't need to be adjustable by the service script. It is only used so the supervisor can stop itself when the --stop option is used.
2018-11-06supervise-daemon.sh: drop invalid --signal switchWilliam Hubbs
This fixes #230.
2018-10-23supervise-daemon: add health checksWilliam Hubbs
Health checks are a way to monitor a service and make sure it stays healthy. If a service is not healthy, it will be automatically restarted after running the unhealthy() function to clean up.
2018-05-30sh/supervise-daemon.sh: use start_stop_daemon_args if supervise_daemon_args ↵Austin English
is undefined
2017-11-29add more variables for start-stop-daemon and supervise-daemon optionsJulien Reichardt
Add the following variables to expose more arguments that can be passed to start-stop-daemon or supervise-daemon: - directory will be passed to --chdir - error_log will be passed to --stderr - output_log will be passed to --stdout - umask will be passed to umask This is for #184.
2017-10-27supervise-daemon: use RC_SVCNAME as the first argument to the daemonWilliam Hubbs
This makes ps show which service the supervisor is monitoring.
2017-10-26implement "unsupervised" statusWilliam Hubbs
The unsupervised status is to be used when a supervisor of a supervised service dies but leaves the service daemon itself running.
2017-10-25supervise-daemon.sh: fix status function with no namespacesWilliam Hubbs
2017-10-25add "unsupervised" status and return code 64 to supervise-daemon status functionWilliam Hubbs
This is to be used if the service is being supervised and the supervisor is somehow killed. Currently, this is very linux specific, but I will expand to other platforms, patches are welcome.
2017-09-06add retry option to supervise-daemonWilliam Hubbs
The --retry option for supervise-daemon defines how the supervisor will attempt to stop the child process it is monitoring. It is defined when the supervisor is started since stopping the supervisor just sends a signal to the active supervisor. This fixes #160.
2017-05-10supervise-daemon:create multiple options from --respawn-limitWilliam Hubbs
This creates --respawn-delay, --respawn-max and --respawn-period. It was suggested that it would be easier to follow if the options were separated. This is for #126.
2017-05-09supervise-daemon: add a --respawn-limit optionWilliam Hubbs
Allow limiting the number of times supervise-daemon will attempt to respawn a daemon once it has died to prevent infinite respawning. Also, set a reasonable default limit (10 times in a 5 second period). This is for issue #126.
2016-09-20Revert "Remove eval calls from supervisor start functions"William Hubbs
This reverts commit 0d1f1010c299a95332f224c3be9e8dfdd85eec54. We need the eval in case someone uses something like: command_args="this \"is a\" test" This is related to #77.
2016-09-19Remove eval calls from supervisor start functionsWilliam Hubbs
This fixes #77.
2016-09-13Make use of name vs RC_SVCNAME consistent in supervisor scriptsWilliam Hubbs
This fixes #79.
2016-05-19supervise-daemon.sh: add support for chroot variableWilliam Hubbs
2016-04-27add daemon supervisorWilliam Hubbs
The supervise-daemon process is meant to be a lightweight supervisor which can monitor and restart a daemon if it crashes.