X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd.service.xml;h=4c890dfb7bbff42672a66f4a00fbcf7f2baa2268;hp=da9079cbb8dfe37aafeae9c534711e7eeb50af0b;hb=92ff080be100aff15f292e2631921131c610afe7;hpb=f4e9cdbc6259237b2cb779a16e7c1aca0fd44e58 diff --git a/man/systemd.service.xml b/man/systemd.service.xml index da9079cbb..4c890dfb7 100644 --- a/man/systemd.service.xml +++ b/man/systemd.service.xml @@ -377,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 @@ -1118,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 @@ -1148,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 @@ -1168,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. @@ -1253,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 + + + +