Commit b1690fe7 authored by Lennart Poettering's avatar Lennart Poettering

man: document that we now accept more than one main process for Type=oneshot services

parent 34e9ba66
......@@ -129,25 +129,27 @@
configured with
<varname>ExecStart=</varname> is the
main process of the service. In this
mode, communication channels must be
installed before the daemon is started
up (e.g. sockets set up by systemd,
via socket activation), as systemd
will immediately proceed starting
follow-up units.</para>
mode, if the process offers
functionality to other processes on
the system its communication channels
should be installed before the daemon
is started up (e.g. sockets set up by
systemd, via socket activation), as
systemd will immediately proceed
starting follow-up units.</para>
<para>If set to
<option>forking</option> it is
expected that the process configured
with <varname>ExecStart=</varname>
will start up and call
<function>fork()</function>. The
parent process is expected to finish
when start-up is complete and all
communication channels set up. The
child continues to run as the main
daemon process. This is the behaviour
of traditional UNIX daemons. If this
will call <function>fork()</function>
as part of its start-up. The parent process is
expected to exit when start-up is
complete and all communication
channels set up. The child continues
to run as the main daemon
process. This is the behaviour of
traditional UNIX daemons. If this
setting is used, it is recommended to
also use the
<varname>PIDFile=</varname> option, so
......@@ -176,7 +178,7 @@
will proceed starting follow-up units
after the D-Bus bus name has been
acquired. Service units with this
option configured implicitly have
option configured implicitly gain
dependencies on the
<filename>dbus.target</filename>
unit.</para>
......@@ -193,11 +195,11 @@
notification message has been sent. If
this option is used
<varname>NotifyAccess=</varname> (see
below) must be set to open access to
below) should be set to open access to
the notification socket provided by
systemd. If
<varname>NotifyAccess=</varname> is not
set, it will be implicitly set to
set, it will implicitly be set to
<option>main</option>.</para>
</listitem>
</varlistentry>
......@@ -250,21 +252,31 @@
arguments for the process. It is
mandatory to set this option for all
services. This option may not be
specified more than once. Optionally,
if the absolute file name is prefixed
with <literal>@</literal>, the second
token will be passed as
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
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
first token is prefixed with
<literal>-</literal> an error code of
<literal>-</literal> an exit code of
the command normally considered a
failure is ignored and considered
success. If both <literal>-</literal>
and <literal>@</literal> are used for
the same command the latter must
preceed the latter. Unless
failure (i.e. non-zero exit status or
abormal exit due to signal) is ignored
and considered success. If both
<literal>-</literal> and
<literal>@</literal> are used for the
same command the former must preceed
the latter. Unless
<varname>Type=forking</varname> is
set, the process started via this
command line will be considered the
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment