X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd.service.xml;h=8977873c1ebd81c4f824defbafc7e00c59cb457d;hp=339dea9aa503d8ab3787a3ea68edb8f38b7f4dc5;hb=b85bdddafb321fa870b9250a2ff17040d6996061;hpb=c53158818d8cdaf46b3f1b5299b9bda118a1043f
diff --git a/man/systemd.service.xml b/man/systemd.service.xml
index 339dea9aa..8977873c1 100644
--- a/man/systemd.service.xml
+++ b/man/systemd.service.xml
@@ -48,7 +48,7 @@
- systemd.service
+ service.service
@@ -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.
@@ -121,7 +121,7 @@
options specific to the [Service]
section of service units are the following:
-
+ Type=
@@ -219,7 +219,7 @@
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,58 @@
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. The first
+ argument must be an absolute path
+ 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
- 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
@@ -354,10 +360,27 @@
at whitespace, resulting in no or more
arguments. Note that the first
argument (i.e. the program to execute)
- may not be a variable, and must be a
- literal and absolute path
+ may not be a variable, since it must
+ be a literal and absolute path
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
@@ -365,6 +388,13 @@
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.
@@ -372,26 +402,15 @@
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.
+
@@ -400,19 +419,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.
@@ -422,9 +441,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
@@ -450,9 +468,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
@@ -571,7 +588,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
@@ -604,8 +621,14 @@
SIGKILL", ensures that exit
codes 1, 2, 8 and the termination
signal SIGKILL are considered clean
- service
- terminations.
+ 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.
@@ -626,9 +649,16 @@
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.
+ 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.
@@ -716,7 +746,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
@@ -742,13 +772,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.
@@ -849,7 +888,7 @@
for compatibility reasons and should not be used in
newly written service files.
-
+ SysVStartPriority=Set the SysV start
@@ -910,7 +949,8 @@
systemctl8,
systemd.unit5,
systemd.exec5,
- systemd.kill5
+ systemd.kill5,
+ systemd.directives7