X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsystemd.service.xml;h=640318ba4412779ce9d8b2c750c2c369a124f52d;hb=1b99214789101976d6bbf75c351279584b071998;hp=be9bdcaf99689d5e03d34ac3090f6ce0fdcebfca;hpb=bcddd5bf8033b0c9cb15a9d017b7714ebe21473a;p=elogind.git
diff --git a/man/systemd.service.xml b/man/systemd.service.xml
index be9bdcaf9..640318ba4 100644
--- a/man/systemd.service.xml
+++ b/man/systemd.service.xml
@@ -519,6 +519,20 @@ ExecStart=/bin/echo $ONE $TWO ${TWO}
following:
/bin/kill -HUP $MAINPID
+
+ Note however that reloading a
+ daemon by sending a signal (as with
+ the example line above) is usually not
+ a good choice, because this is an
+ asynchronous operation and hence not
+ suitable to order reloads of multiple
+ services against each other. It is
+ strongly recommended to set
+ ExecReload= to a
+ command that not only triggers a
+ configuration reload of the daemon,
+ but also synchronously waits for it to
+ complete.
@@ -674,7 +688,7 @@ ExecStart=/bin/echo $ONE $TWO ${TWO}
processes specified with
ExecStartPre=,
ExecStartPost=,
- ExecStopPre=,
+ ExecStop=,
ExecStopPost=, or
ExecReload=.
When the death of the process is a
@@ -689,51 +703,146 @@ ExecStart=/bin/echo $ONE $TWO ${TWO}
,
,
,
+ ,
,
, or
. If set to
(the default), the
- service will not be restarted. If set to
- , it will be
- restarted only when the service process
- exits cleanly.
- In this context, a clean exit means
- an exit code of 0, or one of the signals
+ service will not be restarted. If set
+ to , it
+ will be restarted only when the
+ service process exits cleanly. In
+ this context, a clean exit means an
+ exit code of 0, or one of the signals
SIGHUP,
SIGINT,
- SIGTERM,
- or SIGPIPE, and
- additionally, exit statuses and signals
- specified in SuccessExitStatus=.
+ SIGTERM or
+ SIGPIPE, and
+ additionally, exit statuses and
+ signals specified in
+ SuccessExitStatus=.
If set to ,
the service will be restarted when the
- process exits with a non-zero exit code,
- is terminated by a signal (including on
- core dump), when an operation (such as
- service reload) times out, and when the
- configured watchdog timeout is triggered.
- If set to
- , the service
- will be restarted only if the service
- process exits due to an uncaught
- signal not specified as a clean exit
- status.
- If set to
- , the service
- will be restarted only if the watchdog
- timeout for the service expires.
- If set to
+ process exits with a non-zero exit
+ code, is terminated by a signal
+ (including on core dump, but excluding
+ the aforementiond four signals), when
+ an operation (such as service reload)
+ times out, and when the configured
+ watchdog timeout is triggered. If set
+ to , the
+ service will be restarted when the
+ process is terminated by a signal
+ (including on core dump, excluding the
+ aforementioned four signals), when an
+ operation times out, or when the
+ watchdog timeout is triggered. If set
+ to , the
+ service will be restarted only if the
+ service process exits due to an
+ uncaught signal not specified as a
+ clean exit status. If set to
+ , the
+ service will be restarted only if the
+ watchdog timeout for the service
+ expires. If set to
, the service
- will be restarted regardless of whether
- it exited cleanly or not, got
+ will be restarted regardless of
+ whether it exited cleanly or not, got
terminated abnormally by a signal, or
hit a timeout.
+
+ Exit causes and the effect of the Restart= settings on them
+
+
+
+
+
+
+ Restart settings/Exit causes
+
+
+
+
+
+
+
+
+
+
+
+ Clean exit code or signal
+
+ X
+ X
+
+
+
+
+
+
+ Unclean exit code
+
+ X
+
+ X
+
+
+
+
+
+ Unclean signal
+
+ X
+
+ X
+ X
+ X
+
+
+
+ Timeout
+
+ X
+
+ X
+ X
+
+
+
+
+ Watchdog
+
+ X
+
+ X
+ X
+
+ X
+
+
+
+
+
In addition to the above settings,
the service will not be restarted if the
exit code or signal is specified in
RestartPreventExitStatus=
- (see below).
+ (see below).
+
+ Setting this to
+ is the
+ recommended choice for long-running
+ services, in order to increase
+ reliability by attempting automatic
+ recovery from errors. For services
+ that shall be able to terminate on
+ their own choice (and avoiding
+ immediate restart)
+ is an
+ alternative choice.
+
@@ -747,33 +856,30 @@ ExecStart=/bin/echo $ONE $TWO ${TWO}
SIGTERM, and SIGPIPE. Exit status
definitions can either be numeric exit
codes or termination signal names,
- separated by spaces. Signals will only
- be considered if the service does not implement
- a signal handler and exits as a direct result
- of receiving the signal. For example:
- SuccessExitStatus=1 2 8 SIGKILL
- ensures that exit codes 1, 2, 8 and
- the termination signal
- SIGKILL are
- considered clean service terminations.
-
-
- Note that if a process has a
- signal handler installed and exits by
- calling
- _exit2
- in response to a signal, the
- information about the signal is lost.
- Programs should instead perform cleanup and kill themselves with the same signal instead. See
- Proper handling of SIGINT/SIGQUIT â How to be a proper program.
-
- This option may appear more than once
- in which case the list of successful
- exit statuses is merged. If the empty
- string is assigned to this option, the
- list is reset, all prior assignments
- of this option will have no
- effect.
+ separated by spaces. For example:
+ SuccessExitStatus=1 2 8 SIGKILL
+ ensures that exit codes 1, 2, 8 and
+ the termination signal
+ SIGKILL are
+ considered clean service terminations.
+
+
+ Note that if a process has a
+ signal handler installed and exits by
+ calling
+ _exit2
+ in response to a signal, the
+ information about the signal is lost.
+ Programs should instead perform cleanup and kill themselves with the same signal instead. See
+ Proper handling of SIGINT/SIGQUIT â How to be a proper program.
+
+ This option may appear more than once,
+ in which case the list of successful
+ exit statuses is merged. If the empty
+ string is assigned to this option, the
+ list is reset, all prior assignments
+ of this option will have no
+ effect.
@@ -861,7 +967,7 @@ ExecStart=/bin/echo $ONE $TWO ${TWO}
for all file descriptors passed via
socket-based activation. If true, all
file descriptors >= 3 (i.e. all except
- STDIN/STDOUT/STDERR) will have
+ stdin, stdout, and stderr) will have
the O_NONBLOCK flag
set and hence are in
non-blocking mode. This option is only
@@ -1020,6 +1126,30 @@ ExecStart=/bin/echo $ONE $TWO ${TWO}
.
+
+ RebootArgument=
+ Configure the optional
+ argument for the
+ reboot2
+ system call if
+ StartLimitAction=
+ is a reboot action. This works just
+ like the optional argument to
+ systemctl reboot
+ command.
+
+
+
+ FailureAction=
+ Configure the action
+ to take when the service enters a failed
+ state. Takes the same values as
+ StartLimitAction=
+ and executes the same actions.
+ Defaults to .
+
+
+
Check