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=2dd3b1977323dfc981bf656d3080bd70db2cea0a;hpb=df34f169b8961c6ef1429cdb940206b42c3f9041;p=elogind.git
diff --git a/man/systemd.service.xml b/man/systemd.service.xml
index 2dd3b1977..b82a5c181 100644
--- a/man/systemd.service.xml
+++ b/man/systemd.service.xml
@@ -302,7 +302,9 @@
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
@@ -316,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
@@ -343,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
@@ -357,8 +361,8 @@
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
+ 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
@@ -386,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.
@@ -410,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.
@@ -425,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
+
@@ -456,7 +469,7 @@
service stop is requested. Specifier
and environment variable substitution
is supported (including
- $MAINPID, see
+ $MAINPID, see
above).