X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsystemd.service.xml;h=4c890dfb7bbff42672a66f4a00fbcf7f2baa2268;hb=352e209804c70b991feededc0a45762929840ace;hp=50ff2f5bd5ac71d30fcc32b3ef233c8b063380c6;hpb=5d9a2698e74eefc20ea7cbbaeaffb566e398f2ba;p=elogind.git diff --git a/man/systemd.service.xml b/man/systemd.service.xml index 50ff2f5bd..4c890dfb7 100644 --- a/man/systemd.service.xml +++ b/man/systemd.service.xml @@ -301,9 +301,7 @@ as. This option is mandatory for services where Type= is set to - , but its use - is otherwise recommended if the process - takes a name on the D-Bus bus. + . @@ -365,7 +363,7 @@ used, zero or more commands may be specified. This can be specified by providing multiple command lines in - the same directive , or alternatively, + the same directive, or alternatively, this directive may be specified more than once with the same effect. If the empty string is assigned to this @@ -379,11 +377,10 @@ For each of the specified commands, the first argument must be - an absolute and literal path to an - executable. Optionally, if the - absolute file name is prefixed with - @, the second token - will be passed as + an absolute path to an executable. + Optionally, if this file name is + prefixed with @, + the second token will be passed as argv[0] to the executed process, followed by the further arguments specified. If the @@ -548,7 +545,7 @@ when Type=oneshot is used, in which case the timeout is disabled by default - (see systemd-systemd.conf5). + (see systemd-system.conf5). @@ -569,7 +566,7 @@ the timeout logic. Defaults to DefaultTimeoutStopSec= from the manager configuration file - (see systemd-systemd.conf5). + (see systemd-system.conf5). @@ -593,8 +590,9 @@ (i.e. the "keep-alive ping"). If the time between two such calls is larger than the configured time, then the service - is placed in a failed state. By - setting Restart= to + is placed in a failed state and it will + be terminated with SIGABRT. + By setting Restart= to or , the service will be automatically restarted. The @@ -968,21 +966,24 @@ Sockets= Specifies the name of the socket units this service shall - inherit the sockets from when the - service is started. Normally it - should not be necessary to use this - setting as all sockets whose unit + inherit socket file descriptors + from when the service is + started. Normally it should not be + necessary to use this setting as all + socket file descriptors whose unit shares the same name as the service - (ignoring the different suffix of course) - are passed to the spawned - process. - - Note that the same socket may be - passed to multiple processes at the - same time. Also note that a different - service may be activated on incoming - traffic than that which inherits the - sockets. Or in other words: the + (subject to the different unit name + suffix of course) are passed to the + spawned process. + + Note that the same socket file + descriptors may be passed to multiple + processes simultaneously. Also note + that a different service may be + activated on incoming socket traffic + than the one which is ultimately + configured to inherit the socket file + descriptors. Or in other words: the Service= setting of .socket units does not have to match the inverse of @@ -1116,6 +1117,35 @@ command. + + FileDescriptorStoreMax= + Configure how many + file descriptors may be stored in the + service manager for the service using + sd_pid_notify_with_fds3's + FDSTORE=1 + messages. This is useful for + implementing service restart schemes + where the state is serialized to + /run and the file + descriptors passed to the service + manager, to allow restarts without + losing state. Defaults to 0, i.e. no + file descriptors may be stored in the + service manager by default. All file + descriptors passed to the service + manager from a specific service are + passed back to the service's main + process on the next service + restart. Any file descriptors passed + to the service manager are + automatically closed when POLLHUP or + POLLERR is seen on them, or when the + service is fully stopped and no job + queued or being executed for + it. + + Check @@ -1126,40 +1156,6 @@ - - Compatibility Options - - The following options are also available in the - [Service] section, but exist purely - for compatibility reasons and should not be used in - newly written service files. - - - - SysVStartPriority= - Set the SysV start - priority to use to order this service - in relation to SysV services lacking - LSB headers. This option is only - necessary to fix ordering in relation - to legacy SysV services that have no - ordering information encoded in the - script headers. As such, it should only - be used as a temporary compatibility - option and should not be used in new unit - files. Almost always, it is a better - choice to add explicit ordering - directives via - After= or - Before=, - instead. For more details, see - systemd.unit5. - If used, pass an integer value in the - range 0-99. - - - - Command lines @@ -1180,13 +1176,15 @@ Each command line is split on whitespace, with the first item being the command to execute, and the - subsequent items being the arguments. Double quotes + subsequent items being the arguments. Double quotes ("...") and single quotes ('...') may be used, in which case everything until the next matching quote - becomes part of the same argument. Quotes themselves - are removed after parsing. In addition, a trailing - backslash (\) may be used to merge - lines. + becomes part of the same argument. C-style escapes are + also supported, see table below. Quotes themselves are + removed after parsing and escape sequences + substituted. In addition, a trailing backslash + (\) may be used to merge lines. + This syntax is intended to be very similar to shell syntax, but only the meta-characters and @@ -1200,6 +1198,10 @@ other elements of shell syntax are not supported. + The command to execute must an absolute path + name. It may contain spaces, but control characters + are not allowed. + The command line accepts % specifiers as described in systemd.unit5. @@ -1285,6 +1287,74 @@ ExecStart=/bin/echo $ONE $TWO $THREE >/dev/null, &, ;, and /bin/ls. + + + C escapes supported in command lines and environment variables + + + + + + Literal + Actual value + + + + + \a + bell + + + \b + backspace + + + \f + form feed + + + \n + newline + + + \r + carriage return + + + \t + tab + + + \v + vertical tab + + + \\ + backslash + + + \" + double quotation mark + + + \' + single quotation mark + + + \s + space + + + \xxx + character number xx in hexadecimal encoding + + + \nnn + character number nnn in octal encoding + + + +