X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsystemd.service.xml;h=b82a5c18173ea0b81ad297830c75871aef65b542;hb=b17959153a460b2a468333868b101fc7e64d7347;hp=ddb065e1d54938523962f89fc1d000576daeec25;hpb=2480f0c6774daa062106f9c209d255f59c6a6c58;p=elogind.git
diff --git a/man/systemd.service.xml b/man/systemd.service.xml
index ddb065e1d..b82a5c181 100644
--- a/man/systemd.service.xml
+++ b/man/systemd.service.xml
@@ -48,7 +48,7 @@
- systemd.service
+ service.service
@@ -121,7 +121,7 @@
options specific to the [Service]
section of service units are the following:
-
+ Type=
@@ -296,11 +296,15 @@
ExecStart=
- Commands
- that are executed when this service is started.
-
+ Commands with their
+ arguments that are executed when this
+ service is started. The first
+ argument must be an absolute path
+ name.
- When
+ When Type is
+ not , only one
+ command may be given. When
Type=oneshot is
used, more than one command may be
specified. Multiple command lines may
@@ -314,23 +318,55 @@
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
- '\;'.
+ 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.
+
+ If more than one command is
+ specified, the commands are invoked
+ one by one sequentially in the order
+ they appear in the unit file. If one
+ of the commands fails (and is not
+ prefixed with '-'),
+ other lines are not executed and the
+ unit is considered failed.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.
+ 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.
+
+ Basic environment variable
+ substitution is supported. Use
+ ${FOO} as part of a
+ 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
+ whitespace it contains, resulting in a
+ single argument. Use
+ $FOO as a separate
+ word on the command line, in which
+ case it will be replaced by the value
+ of the environment variable split up
+ at whitespace, resulting in zero or
+ more arguments. Note that the first
+ argument (i.e. the program to execute)
+ may not be a variable, since it must
+ be a literal and absolute path
+ name.Optionally, if the absolute file
name is prefixed with
@@ -349,39 +385,19 @@
'@' 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 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
- whitespace it contains, resulting in a
- single argument. Use
- $FOO as a separate
- word on the command line, in which
- case it will be replaced by the value
- of the environment variable split up
- 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
- 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'
+ 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
+ $MANAGERPID is set
to the PID of the systemd
instance.
@@ -399,6 +415,11 @@
that multiple command lines are allowed
and the commands are executed one
after the other, serially.
+
+ If any of those commands (not
+ prefixed with '-')
+ fail, the rest are not executed and
+ the unit is considered failed.
@@ -414,14 +435,17 @@
optional. Specifier and environment
variable substitution is supported
here following the same scheme as for
- ExecStart=. One
- additional special environment
- variables is set: if known
- $MAINPID is set to
+ ExecStart=.
+
+ One 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.
+ following:
+
+ /bin/kill -HUP $MAINPID
+
@@ -445,7 +469,7 @@
service stop is requested. Specifier
and environment variable substitution
is supported (including
- $MAINPID, see
+ $MAINPID, see
above).
@@ -453,9 +477,12 @@
ExecStopPost=Additional commands
that are executed after the service
- was stopped using the commands
- configured in
- ExecStop=. This
+ was stopped. This includes cases where
+ the commands configured in
+ ExecStop= were used,
+ where the service doesn't have any
+ ExecStop= defined, or
+ where the service exited unexpectedly. This
argument takes multiple command lines,
following the same scheme as described
for ExecStart. Use
@@ -610,8 +637,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.
@@ -632,9 +665,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.
@@ -722,7 +762,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
@@ -748,13 +788,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.
@@ -855,7 +904,7 @@
for compatibility reasons and should not be used in
newly written service files.
-
+ SysVStartPriority=Set the SysV start
@@ -916,7 +965,8 @@
systemctl8,
systemd.unit5,
systemd.exec5,
- systemd.kill5
+ systemd.kill5,
+ systemd.directives7