chiark / gitweb /
prefdm: make sure we start prefdm only after the getty is killed
[elogind.git] / man / systemd.service.xml
index 94a21d3fe3d99c2160611e590c15d70de69a2344..d6c0e3fd9429e33db906469c6fb807c427b92f2e 100644 (file)
                                 start-up type for this service
                                 unit. One of <option>simple</option>,
                                 <option>forking</option>,
                                 start-up type for this service
                                 unit. One of <option>simple</option>,
                                 <option>forking</option>,
-                                <option>finish</option>,
+                                <option>oneshot</option>,
                                 <option>dbus</option>,
                                 <option>notify</option>.</para>
 
                                 <option>dbus</option>,
                                 <option>notify</option>.</para>
 
                                 configured with
                                 <varname>ExecStart=</varname> is the
                                 main process of the service. In this
                                 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>
 
                                 <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
                                 setting is used, it is recommended to
                                 also use the
                                 <varname>PIDFile=</varname> option, so
                                 exits.</para>
 
                                 <para>Behaviour of
                                 exits.</para>
 
                                 <para>Behaviour of
-                                <option>finish</option> is similar
+                                <option>oneshot</option> is similar
                                 to <option>simple</option>, however
                                 it is expected that the process has to
                                 exit before systemd starts follow-up
                                 to <option>simple</option>, however
                                 it is expected that the process has to
                                 exit before systemd starts follow-up
-                                units. <varname>ValidNoProcess=</varname>
+                                units. <varname>RemainAfterExit=</varname>
                                 is particularly useful for this type
                                 of service.</para>
 
                                 is particularly useful for this type
                                 of service.</para>
 
                                 will proceed starting follow-up units
                                 after the D-Bus bus name has been
                                 acquired. Service units with this
                                 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>
                                 dependencies on the
                                 <filename>dbus.target</filename>
                                 unit.</para>
                                 notification message has been sent. If
                                 this option is used
                                 <varname>NotifyAccess=</varname> (see
                                 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
                                 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>
 
                         <varlistentry>
                                 <option>main</option>.</para>
                                 </listitem>
                         </varlistentry>
 
                         <varlistentry>
-                                <term><varname>ValidNoProcess=</varname></term>
+                                <term><varname>RemainAfterExit=</varname></term>
 
                                 <listitem><para>Takes a boolean value
                                 that specifies whether the service
 
                                 <listitem><para>Takes a boolean value
                                 that specifies whether the service
                                 arguments for the process. It is
                                 mandatory to set this option for all
                                 services. This option may not be
                                 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>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
                                 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
                                 <varname>Type=forking</varname> is
                                 set, the process started via this
                                 command line will be considered the
                                 by the string value of the environment
                                 variable of the same name. Also
                                 <literal>$FOO</literal> may appear as
                                 by the string value of the environment
                                 variable of the same name. Also
                                 <literal>$FOO</literal> may appear as
-                                seperate word on the command line in
+                                separate word on the command line in
                                 which case the variable is replaced by
                                 its value split at
                                 whitespaces.</para></listitem>
                                 which case the variable is replaced by
                                 its value split at
                                 whitespaces.</para></listitem>
                                 command lines may be concatenated in a
                                 single directive, by seperating them
                                 by semicolons (these semicolons must
                                 command lines may be concatenated in a
                                 single directive, by seperating them
                                 by semicolons (these semicolons must
-                                be passed as seperate words). In that
+                                be passed as separate words). In that
                                 case, the commands are executed one
                                 after the other,
                                 serially. Alternatively, these
                                 case, the commands are executed one
                                 after the other,
                                 serially. Alternatively, these