X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd.service.xml;h=598e863651d65216690de4329049cab6718d8337;hp=72b67c698801c2a00b44f8849ea82ee28a43471e;hb=acbeb42770e1e99955ebc4464a0439cf741b3aeb;hpb=abdf7993161a2762df6887fdb5a5f0f4f5da24cf diff --git a/man/systemd.service.xml b/man/systemd.service.xml index 72b67c698..598e86365 100644 --- a/man/systemd.service.xml +++ b/man/systemd.service.xml @@ -100,7 +100,7 @@ script. This is useful for compatibility with SysV. Note that this compatibility is quite comprehensive but not 100%. For details about the - incomptibilities see the Incompatibilities with SysV document. @@ -160,7 +160,7 @@ complete and all communication channels set up. The child continues to run as the main daemon - process. This is the behaviour of + process. This is the behavior of traditional UNIX daemons. If this setting is used, it is recommended to also use the @@ -171,7 +171,7 @@ soon as the parent process exits. - Behaviour of + Behavior of is similar to , however it is expected that the process has to @@ -180,7 +180,7 @@ is particularly useful for this type of service. - Behaviour of + Behavior of is similar to , however it is expected that the daemon acquires a @@ -197,7 +197,7 @@ BusName= is specified. - Behaviour of + Behavior of is similar to , however it is expected that the daemon sends a @@ -216,10 +216,10 @@ not set, it will be implicitly set to . - Behaviour of + Behavior of is very similar to , however - actual execution of a the service + actual execution of the service binary is delayed until all jobs are dispatched. This may be used to avoid interleaving of output of shell @@ -245,7 +245,7 @@ Takes a boolean value that specifies whether systemd should try to guess the main PID of a service - should if it cannot be determined + if it cannot be determined reliably. This option is ignored unless is set and @@ -283,7 +283,7 @@ BusName= Takes a D-Bus bus - name, where this service is reachable + name, that this service is reachable as. This option is mandatory for services where Type= is set to @@ -296,52 +296,70 @@ ExecStart= - Takes a command line - that is executed when this service - shall be started up. The first token - of the command line must be an - absolute file name, then followed by - arguments for the process. It is - mandatory to set this option for all - services. This option may not be - specified more than once, except when + Commands with their + arguments that are executed when this + service is started. + + + When Type=oneshot is - used in which case more than one - ExecStart= line is - accepted which are then invoked one by - one, sequentially in the order they - appear in the unit file. + used, more than one command may be + specified. Multiple command lines may + be concatenated in a single directive, + by separating them with semicolons + (these semicolons must be passed as + separate words). Alternatively, this + directive may be specified more than + once with the same effect. However, + the latter syntax is not recommended + for compatibility with parsers + suitable for XDG + .desktop files. + The commands are invoked one by + one sequentially in the order they + appear in the unit file. + When Type is + not , only one + command may be given. Lone semicolons + may be escaped as + '\;'. + + Unless + Type=forking is + set, the process started via this + command line will be considered the + main process of the daemon. + + The command line accepts + '%' specifiers as + described in + systemd.unit5. Note + that the first argument of the command + line (i.e. the program to execute) may + not include specifiers. 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 - first token is prefixed with - - an exit code of + absolute file name 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 for the - same command the former must precede - the latter. Unless - Type=forking is - set, the process started via this - command line will be considered the - main process of the daemon. The - command line accepts % specifiers as - described in - systemd.unit5. + '-' and + '@' are used they + can appear in either order. On top of that basic environment variable substitution is supported. Use ${FOO} as part of a - word, or as word of its own on the + word, or as a word of its own on the command line, in which case it will be replaced by the value of the environment variable including all @@ -356,33 +374,38 @@ argument (i.e. the program to execute) may not be a variable, and must be a literal and absolute path - name. + name. + + Note that this setting does not + directly support shell command + lines. If shell command lines are to + be used they need to be passed + explicitly to a shell implementation + of some kind. Example: + ExecStart=/bin/sh -c 'dmesg | tac' + + For services run by a user + instance of systemd the special + environment variable + MANAGERPID is set + to the PID of the systemd + instance. + ExecStartPre= ExecStartPost= Additional commands - that are executed before (resp. after) + that are executed before or after the command in - ExecStart=. Multiple - command lines may be concatenated in a - single directive, by separating them - by semicolons (these semicolons must - be passed as separate words). In that - case, the commands are executed one - after the other, - serially. Alternatively, these - directives may be specified more than - once with the same effect. However, - the latter syntax is not recommended - for compatibility with parsers - suitable for XDG - .desktop files. - Use of these settings is - optional. Specifier and environment - variable substitution is - supported. + ExecStart=, respectively. + Syntax is the same as for + ExecStart=, except + that multiple command lines are allowed + and the commands are executed one + after the other, serially. + @@ -391,19 +414,19 @@ trigger a configuration reload in the service. This argument takes multiple command lines, following the same - scheme as pointed out for - ExecStartPre= + scheme as described for + ExecStart= above. Use of this setting is optional. Specifier and environment variable substitution is supported here following the same scheme as for ExecStart=. One - special environment variable is set: - if known $MAINPID is - set to the main process of the - daemon, and may be used for command - lines like the following: - /bin/kill -HUP + additional special environment + variables is set: if known + $MAINPID is set to + the main process of the daemon, and + may be used for command lines like the + following: /bin/kill -HUP $MAINPID. @@ -413,9 +436,8 @@ stop the service started via ExecStart=. This argument takes multiple command lines, - following the same scheme as pointed - out for - ExecStartPre= + following the same scheme as described + for ExecStart= above. Use of this setting is optional. All processes remaining for a service after the commands @@ -441,9 +463,8 @@ configured in ExecStop=. This argument takes multiple command lines, - following the same scheme as pointed - out for - ExecStartPre. Use + following the same scheme as described + for ExecStart. Use of these settings is optional. Specifier and environment variable substitution is @@ -562,7 +583,7 @@ 0. If set to it will be restarted only when it exited with an - exit code not equalling 0, when + exit code not equaling 0, when terminated by a signal (including on core dump), when an operation (such as service reload) times out or when the @@ -590,7 +611,7 @@ SIGTERM and SIGPIPE. Exit status definitions can either be numeric exit codes or termination signal names, and - are are separated by spaces. Example: + are separated by spaces. Example: "SuccessExitStatus=1 2 8 SIGKILL", ensures that exit codes 1, 2, 8 and the termination