diff --git a/man/systemd.service.xml b/man/systemd.service.xml
index 8c1dfe18b7..ddb065e1d5 100644
--- a/man/systemd.service.xml
+++ b/man/systemd.service.xml
@@ -296,46 +296,59 @@
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
+ 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 they
- can appear in either order. 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
+ '\;'.
+
+ 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
+ command line accepts '%'
+ specifiers as described in
systemd.unit5.
+ 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.
+
On top of that basic environment
variable substitution is
supported. Use
@@ -380,24 +393,13 @@
Additional commands
that are executed before or after
the command in
- ExecStart=, respectively. 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.
+
@@ -406,8 +408,8 @@
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
@@ -428,9 +430,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
@@ -456,9 +457,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