X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsystemd.service.xml;h=891b3474aae66211b69e3bb73f40d84050a5f353;hb=652d0dd7097984801fca0378b762bf96e8fda029;hp=1946d85f483ea3e85a98a3c7eab67c100c92a1c3;hpb=d568a3350ee8a45877eef87cd026a954124e2cf8;p=elogind.git
diff --git a/man/systemd.service.xml b/man/systemd.service.xml
index 1946d85f4..891b3474a 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,57 @@
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
- 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.
+ Commands with their
+ arguments that are executed when this
+ service is started.
+
- Optionally, if the absolute 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
- first token 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
+ When
+ Type=oneshot is
+ 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
+ '\;'. If the empty
+ string is assigned to this option the
+ list of commands to start is reset,
+ prior assignments of this option will
+ have no effect.
+
+ 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
+ main process of the daemon.
+
+ The command line accepts
+ '%' specifiers as
described in
- systemd.unit5.
+ systemd.unit5. Note
+ that the first argument of the command
+ line (i.e. the program to execute) may
+ not include specifiers.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 +361,55 @@
argument (i.e. the program to execute)
may not be a variable, and must be a
literal and absolute path
- name.
+ name.
+
+ Optionally, if the absolute 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
+ 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 they
+ can appear in either order.
+
+ 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 +418,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 +440,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 +467,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 +587,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
@@ -579,6 +604,62 @@
hit a timeout.
+
+ SuccessExitStatus=
+ Takes a list of exit
+ status definitions that when returned
+ 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
+ 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 1, 2, 8 and the termination
+ signal SIGKILL are considered clean
+ service terminations. This option may
+ appear more than once in which case
+ the list of successful exit statuses
+ is merged. If the empty string is
+ assigned to this option the list is
+ reset, all prior assignments of this
+ option will have no
+ effect.
+
+
+
+ RestartPreventExitStatus=
+ Takes a list of exit
+ status definitions that when returned
+ by the main service process will
+ prevent automatic service restarts
+ regardless of the restart setting
+ configured with
+ Restart=. Exit
+ status definitions can either be
+ numeric exit codes or termination
+ signal names, and are separated by
+ spaces. Defaults to the empty list, so
+ that by default no exit status is
+ excluded from the configured restart
+ logic. Example:
+ "RestartPreventExitStatus=1 6
+ SIGABRT", ensures that exit
+ codes 1 and 6 and the termination
+ signal SIGABRT will not result in
+ automatic service restarting. This
+ option may appear more than once in
+ which case the list of restart preventing
+ statuses is merged. If the empty
+ string is assigned to this option the
+ list is reset, all prior assignments
+ of this option will have no
+ effect.
+
+
PermissionsStartOnly=Takes a boolean
@@ -664,7 +745,7 @@
open access to the notification socket
when using
Type=notify or
- WatchdogUsec= (see
+ WatchdogSec= (see
above). If those options are used but
NotifyAccess= not
configured it will be implicitly set
@@ -690,13 +771,22 @@
same time. Also note that a different
service may be activated on incoming
traffic than inherits the sockets. Or
- in other words: The
+ in other words: the
Service= setting of
.socket units
- doesn't have to match the inverse of the
- Sockets= setting of
- the .service it
- refers to.
+ doesn't have to match the inverse of
+ the Sockets=
+ setting of the
+ .service it
+ refers to.
+
+ This option may appear more than
+ once, in which case the list of socket
+ units is merged. If the empty string
+ is assigned to this option the list of
+ sockets is reset, all prior uses of
+ this setting will have no
+ effect.
@@ -858,7 +948,8 @@
systemctl8,
systemd.unit5,
systemd.exec5,
- systemd.kill5
+ systemd.kill5,
+ systemd.directives7