diff options
author | Lennart Poettering <lennart@poettering.net> | 2010-08-13 18:46:04 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2010-08-13 18:46:04 +0200 |
commit | b1690fe70afa090545933560e9cbcbb8aa0387c4 (patch) | |
tree | 7b2892813ab67908df4ddcda75a6c87fb979bbf1 | |
parent | 34e9ba669e75fb3b8f481076e75df5c2abb8192b (diff) |
man: document that we now accept more than one main process for Type=oneshot services
-rw-r--r-- | man/systemd.service.xml | 66 |
1 files changed, 39 insertions, 27 deletions
diff --git a/man/systemd.service.xml b/man/systemd.service.xml index 70c1d1e5fa..c3eebeabc1 100644 --- a/man/systemd.service.xml +++ b/man/systemd.service.xml @@ -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 |