X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsystemd.service.xml;h=b82a5c18173ea0b81ad297830c75871aef65b542;hb=b8a2b0f76b133524224d384641e124b7f6c5b9af;hp=d2feb98247ba53b92d038fb00873c1ab9fcfac6e;hpb=ccc9a4f9ffdab069b0b785627c48962fdadf6d46;p=elogind.git
diff --git a/man/systemd.service.xml b/man/systemd.service.xml
index d2feb9824..b82a5c181 100644
--- a/man/systemd.service.xml
+++ b/man/systemd.service.xml
@@ -48,7 +48,7 @@
- systemd.service
+ service.service
@@ -298,10 +298,13 @@
ExecStart=Commands with their
arguments that are executed when this
- service is started.
-
+ 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
@@ -315,19 +318,22 @@
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
@@ -342,9 +348,8 @@
line (i.e. the program to execute) may
not include specifiers.
- On top of that basic environment
- variable substitution is
- supported. Use
+ 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
@@ -356,11 +361,11 @@
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
+ at whitespace, resulting in zero 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
@@ -385,13 +390,14 @@
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.
@@ -409,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.
@@ -424,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
+
@@ -455,7 +469,7 @@
service stop is requested. Specifier
and environment variable substitution
is supported (including
- $MAINPID, see
+ $MAINPID, see
above).
@@ -463,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