options specific to the <literal>[Service]</literal>
section of service units are the following:</para>
- <variablelist>
+ <variablelist class='unit-directives'>
<varlistentry>
<term><varname>Type=</varname></term>
for compatibility with parsers
suitable for XDG
<filename>.desktop</filename> files.
- The commands are invoked one by
- one sequentially in the order they
- appear in the unit file.
- When <varname>Type</varname> is
- not <option>oneshot</option>, only one
+ The commands are invoked one by 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>
+ '<literal>\;</literal>'. 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.</para>
<para>Unless
<varname>Type=forking</varname> is
line (i.e. the program to execute) may
not include specifiers.</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
variable substitution is
supported. Use
literal and absolute path
name.</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>Note that this setting does not
directly support shell command
lines. If shell command lines are to
SIGKILL</literal>", ensures that exit
codes 1, 2, 8 and the termination
signal SIGKILL are considered clean
- service
- terminations.</para></listitem>
+ 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.</para></listitem>
</varlistentry>
<varlistentry>
logic. Example:
"<literal>RestartPreventExitStatus=1 6
SIGABRT</literal>", ensures that exit
- codes 1 and 6 and the termination signal
- SIGABRT will not result in automatic
- service restarting.</para></listitem>
+ 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.</para></listitem>
</varlistentry>
<varlistentry>
open access to the notification socket
when using
<varname>Type=notify</varname> or
- <varname>WatchdogUsec=</varname> (see
+ <varname>WatchdogSec=</varname> (see
above). If those options are used but
<varname>NotifyAccess=</varname> not
configured it will be implicitly set
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
<varname>Service=</varname> setting of
<filename>.socket</filename> units
- doesn't have to match the inverse of the
- <varname>Sockets=</varname> setting of
- the <filename>.service</filename> it
- refers to.</para></listitem>
+ doesn't have to match the inverse of
+ the <varname>Sockets=</varname>
+ setting of the
+ <filename>.service</filename> it
+ refers to.</para>
+
+ <para>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.</para></listitem>
</varlistentry>
<varlistentry>
for compatibility reasons and should not be used in
newly written service files.</para>
- <variablelist>
+ <variablelist class='unit-directives'>
<varlistentry>
<term><varname>SysVStartPriority=</varname></term>
<listitem><para>Set the SysV start
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>