X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsystemd.service.xml;h=0454cf292ef199c3a36bd94b995f5a1019e0bc01;hb=3ae83f9896bff49679c8a60e6ff9520557df8b16;hp=b82a5c18173ea0b81ad297830c75871aef65b542;hpb=4c42e8e1618e2352cb628d459593233a86202ce6;p=elogind.git diff --git a/man/systemd.service.xml b/man/systemd.service.xml index b82a5c181..0454cf292 100644 --- a/man/systemd.service.xml +++ b/man/systemd.service.xml @@ -553,8 +553,8 @@ WatchdogSec= Configures the - watchdog timeout for a service. This - is activated when the start-up is + watchdog timeout for a service. The + watchdog is activated when the start-up is completed. The service must call sd_notify3 regularly with "WATCHDOG=1" (i.e. the @@ -588,37 +588,66 @@ Restart= Configures whether the - main service process shall be - restarted when it exits. Takes one of + service shall be restarted when the + service process exits, is killed, + or a timeout is reached. The service + process may be the main service + process, but also one of the processes + specified with + ExecStartPre=, + ExecStartPost=, + ExecStopPre=, + ExecStopPost=, or + ExecReload=. + When the death of the process is a + result of systemd operation (e.g. service + stop or restart), the service will not be + restarted. Timeouts include missing + the watchdog "keep-alive ping" + deadline and a service start, reload, + and stop operation timeouts. + + Takes one of , , , - or + , or . If set to (the default) the - service will not be restarted when it - exits. If set to + service will not be restarted. If set to it will be - restarted only when it exited cleanly, - i.e. terminated with an exit code of - 0. If set to - it will be - restarted only when it exited with an - exit code not equaling 0, when - terminated by a signal (including on + 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=. + If set to + the service will be restarted when the + process exits with an nonzero exit code, + is terminated by a signal (including on core dump), when an operation (such as - service reload) times out or when the - configured watchdog timeout is - triggered. If set to - it will be - restarted only if it exits due to - reception of an uncaught signal - (including on core dump). If set to + 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 regardless whether it exited cleanly or not, got terminated abnormally by a signal or - hit a timeout. + hit a timeout. + + In addition to the above settings, + the service will not be restarted if the + exit code or signal is specified in + RestartPreventExitStatus= + (see below). @@ -631,8 +660,8 @@ code 0 and the signals SIGHUP, SIGINT, SIGTERM and SIGPIPE. Exit status definitions can either be numeric exit - codes or termination signal names, and - are separated by spaces. Example: + codes or termination signal names, + separated by spaces. Example: "SuccessExitStatus=1 2 8 SIGKILL", ensures that exit codes 1, 2, 8 and the termination