X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd.service.xml;h=1eb5f39628b3e21f58d374da6282b8b7003c806b;hp=b82a5c18173ea0b81ad297830c75871aef65b542;hb=dc99a9764418a1974c46c55efa73b034f530a5a5;hpb=4c42e8e1618e2352cb628d459593233a86202ce6 diff --git a/man/systemd.service.xml b/man/systemd.service.xml index b82a5c181..1eb5f3962 100644 --- a/man/systemd.service.xml +++ b/man/systemd.service.xml @@ -73,9 +73,12 @@ systemd.exec5, which define the execution environment the commands are executed in, and in - systemd.kill5 + systemd.kill5, which define the way the processes of the service are - terminated. + terminated, and in + systemd.cgroup5, + which configure control group settings for the + processes of the service. Unless DefaultDependencies= is set to , service units will @@ -214,7 +217,11 @@ systemd. If NotifyAccess= is not set, it will be implicitly set to - . + . Note that + currently + Type= + won't work if used in combination with + PrivateNetwork=. Behavior of is very similar @@ -319,7 +326,7 @@ suitable for XDG .desktop files. Lone semicolons may be escaped as - '\;'. If the empty + \;. If the empty string is assigned to this option the list of commands to start is reset, prior assignments of this option will @@ -330,7 +337,7 @@ one by one sequentially in the order they appear in the unit file. If one of the commands fails (and is not - prefixed with '-'), + prefixed with -), other lines are not executed and the unit is considered failed. @@ -341,7 +348,7 @@ main process of the daemon. The command line accepts - '%' specifiers as + % specifiers as described in systemd.unit5. Note that the first argument of the command @@ -370,19 +377,19 @@ Optionally, if the absolute file name is prefixed with - '@', the second token + @, the second token will be passed as argv[0] to the executed process, followed by the further arguments specified. If the - absolute file name is prefixed with - '-' an exit code of + absolute filename is prefixed with + - an exit code of the command normally considered a failure (i.e. non-zero exit status or abnormal exit due to signal) is ignored and considered success. If both - '-' and - '@' are used they + - and + @ are used they can appear in either order. Note that this setting does not @@ -417,7 +424,7 @@ after the other, serially. If any of those commands (not - prefixed with '-') + prefixed with -) fail, the rest are not executed and the unit is considered failed. @@ -480,7 +487,7 @@ was stopped. This includes cases where the commands configured in ExecStop= were used, - where the service doesn't have any + where the service does not have any ExecStop= defined, or where the service exited unexpectedly. This argument takes multiple command lines, @@ -529,9 +536,9 @@ wait for stop. If a service is asked to stop but does not terminate in the specified time, it will be terminated - forcibly via SIGTERM, and after + forcibly via SIGTERM, and after another delay of this time with - SIGKILL (See + SIGKILL (See KillMode= in systemd.kill5). Takes a unit-less value in seconds, or a @@ -553,8 +560,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 +595,71 @@ 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 only if the watchdog + timeout for the service expires. + 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). @@ -628,15 +669,15 @@ by the main service process will be considered successful termination, in addition to the normal successful exit - code 0 and the signals SIGHUP, SIGINT, - SIGTERM and SIGPIPE. Exit status + 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: - "SuccessExitStatus=1 2 8 - SIGKILL", ensures that exit + codes or termination signal names, + separated by spaces. Example: + SuccessExitStatus=1 2 8 + SIGKILL, ensures that exit codes 1, 2, 8 and the termination - signal SIGKILL are considered clean + signal SIGKILL are considered clean service terminations. This option may appear more than once in which case the list of successful exit statuses @@ -663,8 +704,8 @@ that by default no exit status is excluded from the configured restart logic. Example: - "RestartPreventExitStatus=1 6 - SIGABRT", ensures that exit + RestartPreventExitStatus=1 6 + SIGABRT, ensures that exit codes 1 and 6 and the termination signal SIGABRT will not result in automatic service restarting. This @@ -791,7 +832,7 @@ in other words: the Service= setting of .socket units - doesn't have to match the inverse of + does not have to match the inverse of the Sockets= setting of the .service it @@ -965,6 +1006,7 @@ systemctl8, systemd.unit5, systemd.exec5, + systemd.cgroup5, systemd.kill5, systemd.directives7