man: update description of ExecStart and friends

Semicolon separated lines are supported for all those commands,
and semicolons can now be escaped.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2012-11-15 15:54:17 +01:00
parent 0f67f1efae
commit 2480f0c677
1 changed files with 59 additions and 59 deletions

View File

@ -296,46 +296,59 @@
<varlistentry> <varlistentry>
<term><varname>ExecStart=</varname></term> <term><varname>ExecStart=</varname></term>
<listitem><para>Takes a command line <listitem><para>Commands
that is executed when this service that are executed when this service is started.
shall be started up. The first token </para>
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
<varname>Type=oneshot</varname> is
used in which case more than one
<varname>ExecStart=</varname> line is
accepted which are then invoked one by
one, sequentially in the order they
appear in the unit file.</para>
<para>Optionally, if the absolute file <para>When
name is prefixed with <varname>Type=oneshot</varname> is
<literal>@</literal>, the second token used, more than one command may be
will be passed as specified. Multiple command lines may
<literal>argv[0]</literal> to the be concatenated in a single directive,
executed process, followed by the by separating them with semicolons
further arguments specified. If the (these semicolons must be passed as
first token is prefixed with separate words). Alternatively, this
<literal>-</literal> an exit code of directive may be specified more than
the command normally considered a once with the same effect. However,
failure (i.e. non-zero exit status or the latter syntax is not recommended
abnormal exit due to signal) is ignored for compatibility with parsers
and considered success. If both suitable for XDG
<literal>-</literal> and <filename>.desktop</filename> files.
<literal>@</literal> are used they The commands are invoked one by
can appear in either order. Unless one sequentially in the order they
appear in the unit file.
When <varname>Type</varname> is
not <option>oneshot</option>, only one
command may be given. Lone semicolons
may be escaped as
'<literal>\;</literal>'.</para>
<para>Unless
<varname>Type=forking</varname> is <varname>Type=forking</varname> is
set, the process started via this set, the process started via this
command line will be considered the command line will be considered the
main process of the daemon. The main process of the daemon. The
command line accepts % specifiers as command line accepts '<literal>%</literal>'
described in specifiers as described in
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para> <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
<para>Optionally, if the absolute file
name is prefixed with
'<literal>@</literal>', the second token
will be passed as
<literal>argv[0]</literal> to the
executed process, followed by the
further arguments specified. If the
absolute file name is prefixed with
'<literal>-</literal>' 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
'<literal>-</literal>' and
'<literal>@</literal>' are used they
can appear in either order.</para>
<para>On top of that basic environment <para>On top of that basic environment
variable substitution is variable substitution is
supported. Use supported. Use
@ -380,24 +393,13 @@
<listitem><para>Additional commands <listitem><para>Additional commands
that are executed before or after that are executed before or after
the command in the command in
<varname>ExecStart=</varname>, respectively. Multiple <varname>ExecStart=</varname>, respectively.
command lines may be concatenated in a Syntax is the same as for
single directive, by separating them <varname>ExecStart=</varname>, except
by semicolons (these semicolons must that multiple command lines are allowed
be passed as separate words). In that and the commands are executed one
case, the commands are executed one after the other, serially.</para>
after the other, </listitem>
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
<filename>.desktop</filename> files.
Use of these settings is
optional. Specifier and environment
variable substitution is
supported.</para></listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
@ -406,8 +408,8 @@
trigger a configuration reload in the trigger a configuration reload in the
service. This argument takes multiple service. This argument takes multiple
command lines, following the same command lines, following the same
scheme as pointed out for scheme as described for
<varname>ExecStartPre=</varname> <varname>ExecStart=</varname>
above. Use of this setting is above. Use of this setting is
optional. Specifier and environment optional. Specifier and environment
variable substitution is supported variable substitution is supported
@ -428,9 +430,8 @@
stop the service started via stop the service started via
<varname>ExecStart=</varname>. This <varname>ExecStart=</varname>. This
argument takes multiple command lines, argument takes multiple command lines,
following the same scheme as pointed following the same scheme as described
out for for <varname>ExecStart=</varname>
<varname>ExecStartPre=</varname>
above. Use of this setting is above. Use of this setting is
optional. All processes remaining for optional. All processes remaining for
a service after the commands a service after the commands
@ -456,9 +457,8 @@
configured in configured in
<varname>ExecStop=</varname>. This <varname>ExecStop=</varname>. This
argument takes multiple command lines, argument takes multiple command lines,
following the same scheme as pointed following the same scheme as described
out for for <varname>ExecStart</varname>. Use
<varname>ExecStartPre</varname>. Use
of these settings is of these settings is
optional. Specifier and environment optional. Specifier and environment
variable substitution is variable substitution is