X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd.service.xml;h=5c4bd6569f0ca7131281ea70fd58b8f7b57ae6a2;hp=af32ccb87816b73810b1ce3c23aef32ecd53d76d;hb=3cd761e4df278cdef6fda9d7f50be512d3c1d7ae;hpb=93ae25e6fd62b2f87c3dd9ad3e81934eecc48057 diff --git a/man/systemd.service.xml b/man/systemd.service.xml index af32ccb87..5c4bd6569 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. @@ -591,11 +605,12 @@ ExecStart=/bin/echo $ONE $TWO ${TWO} time span value such as "5min 20s". Pass 0 to disable the timeout logic. Defaults to - TimeoutStartSec= from + DefaultTimeoutStartSec= from the manager configuration file, except when Type=oneshot is used, in which case the timeout - is disabled by default. + is disabled by default + (see systemd-systemd.conf5). @@ -614,8 +629,9 @@ ExecStart=/bin/echo $ONE $TWO ${TWO} time span value such as "5min 20s". Pass 0 to disable the timeout logic. Defaults to - TimeoutStartSec= from the - manager configuration file. + DefaultTimeoutStopSec= from the + manager configuration file + (see systemd-systemd.conf5). @@ -689,51 +705,151 @@ 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. - In addition to the above settings, - the service will not be restarted if the - exit code or signal is specified in + + Exit causes and the effect of the <varname>Restart=</varname> 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 + + + +
+ + As exceptions to the setting + above the service will not be + restarted if the exit code or signal + is specified in RestartPreventExitStatus= - (see below). + (see below). Also, the services will + always be restarted if the exit code + or signal is specified in + RestartForceExitStatus= + (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 avoid + immediate restarting), + is an + alternative choice. + @@ -748,7 +864,7 @@ ExecStart=/bin/echo $ONE $TWO ${TWO} definitions can either be numeric exit codes or termination signal names, separated by spaces. For example: - SuccessExitStatus=1 2 8 SIGKILL + SuccessExitStatus=1 2 8 SIGKILL ensures that exit codes 1, 2, 8 and the termination signal SIGKILL are @@ -788,9 +904,8 @@ ExecStart=/bin/echo $ONE $TWO ${TWO} spaces. Defaults to the empty list, so that, by default, no exit status is excluded from the configured restart - logic. Example: - RestartPreventExitStatus=1 6 - SIGABRT, ensures that exit + logic. For example: + RestartPreventExitStatus=1 6 SIGABRT ensures that exit codes 1 and 6 and the termination signal SIGABRT will not result in automatic service @@ -804,6 +919,18 @@ ExecStart=/bin/echo $ONE $TWO ${TWO} effect. + + RestartForceExitStatus= + Takes a list of exit + status definitions that when returned + by the main service process will force + automatic service restarts, regardless + of the restart setting configured with + Restart=. The + argument format is similar to + RestartPreventExitStatus=. + + PermissionsStartOnly= Takes a boolean