supervise-daemon-guide.md: re-format and add more variables
This commit is contained in:
parent
3f918161aa
commit
aacf841de4
@ -7,44 +7,73 @@ terminates unexpectedly.
|
|||||||
|
|
||||||
The following is a brief guide on using this capability.
|
The following is a brief guide on using this capability.
|
||||||
|
|
||||||
## Use Default start, stop and status functions
|
* Use Default start, stop and status functions
|
||||||
|
If you write your own start, stop and status functions in your service
|
||||||
|
script, none of this will work. You must allow OpenRC to use the default
|
||||||
|
functions.
|
||||||
|
|
||||||
If you write your own start, stop and status functions in your service
|
* Daemons must not fork
|
||||||
script, none of this will work. You must allow OpenRC to use the default
|
Any deamon that you would like to have monitored by supervise-daemon
|
||||||
functions.
|
must not fork. Instead, it must stay in the foreground. If the daemon
|
||||||
|
forks, the supervisor will be unable to monitor it.
|
||||||
|
|
||||||
## Daemons must not fork
|
If the daemon can be configured to not fork, this should be done in the
|
||||||
|
daemon's configuration file, or by adding a command line option that
|
||||||
|
instructs it not to fork to the command_args_foreground variable shown
|
||||||
|
below.
|
||||||
|
|
||||||
Any deamon that you would like to have monitored by supervise-daemon
|
# Variable Settings
|
||||||
must not fork. Instead, it must stay in the foreground. If the daemon
|
|
||||||
itself forks, the supervisor will be unable to monitor it.
|
|
||||||
|
|
||||||
If the daemon can be configured to not fork, this should be done in the
|
|
||||||
daemon's configuration file, or by adding a command line option that
|
|
||||||
instructs it not to fork to the command_args_foreground variable shown
|
|
||||||
below.
|
|
||||||
|
|
||||||
## Variable Settings
|
|
||||||
|
|
||||||
The most important setting is the supervisor variable. At the top of
|
The most important setting is the supervisor variable. At the top of
|
||||||
your service script, you should set this variable as follows:
|
your service script, you should set this variable as follows:
|
||||||
|
|
||||||
|
``` sh
|
||||||
supervisor=supervise-daemon
|
supervisor=supervise-daemon
|
||||||
|
```
|
||||||
|
|
||||||
Several other variables affect the way services behave under
|
Several other variables affect the way services behave under
|
||||||
supervise-daemon. They are documented on the openrc-run man page, but I
|
supervise-daemon. They are documented on the openrc-run man page, but I
|
||||||
will list them here for convenience:
|
will list them here for convenience:
|
||||||
|
|
||||||
|
``` sh
|
||||||
pidfile=/pid/of/supervisor.pid
|
pidfile=/pid/of/supervisor.pid
|
||||||
|
```
|
||||||
|
|
||||||
If you are using start-stop-daemon to monitor your scripts, the pidfile
|
If you are using start-stop-daemon to monitor your scripts, the pidfile
|
||||||
is the path to the pidfile the daemon creates. If, on the other hand,
|
is the path to the pidfile the daemon creates. If, on the other hand,
|
||||||
you are using supervise-daemon, this is the path to the pidfile the
|
you are using supervise-daemon, this is the path to the pidfile the
|
||||||
supervisor creates.
|
supervisor creates.
|
||||||
|
|
||||||
command_args_foreground should be used if the daemon you want to monitor
|
``` sh
|
||||||
|
command_args_foreground="arguments"
|
||||||
|
```
|
||||||
|
|
||||||
|
This should be used if the daemon you want to monitor
|
||||||
forks and goes to the background by default. This should be set to the
|
forks and goes to the background by default. This should be set to the
|
||||||
command line option that instructs the daemon to stay in the foreground.
|
command line option that instructs the daemon to stay in the foreground.
|
||||||
|
|
||||||
This is very early support, so feel free to file bugs if you have
|
``` sh
|
||||||
issues.
|
respawn_delay
|
||||||
|
```
|
||||||
|
|
||||||
|
This is the number of seconds to delay before attempting to respawn a
|
||||||
|
supervised process after it dies unexpectedly.
|
||||||
|
The default is to respawn immediately.
|
||||||
|
|
||||||
|
``` sh
|
||||||
|
respawn_max=x
|
||||||
|
```
|
||||||
|
|
||||||
|
This is the maximum number of times to respawn a supervised process
|
||||||
|
during the given respawn period. The default is unlimited.
|
||||||
|
|
||||||
|
``` sh
|
||||||
|
respawn_period=seconds
|
||||||
|
```
|
||||||
|
|
||||||
|
This works in conjunction with respawn_max and respawn_delay above to
|
||||||
|
decide if a process should not be respawned for some reason.
|
||||||
|
|
||||||
|
For example, if respawn_period is 60, respawn_max is 2 and respawn_delay
|
||||||
|
is 3 and a process dies more than 4 times, the process will not be
|
||||||
|
respawned and the supervisor will terminate.
|
||||||
|
Loading…
Reference in New Issue
Block a user