chiark / gitweb /
getty: fix message
[elogind.git] / man / systemd.service.xml
index c77992d07c6e1749df86f434fdcef0629064d48b..4f1102021f2b2864e08cf60dc5656ce88654699f 100644 (file)
                                 acquired. Service units with this
                                 option configured implicitly gain
                                 dependencies on the
                                 acquired. Service units with this
                                 option configured implicitly gain
                                 dependencies on the
-                                <filename>dbus.target</filename>
+                                <filename>dbus.socket</filename>
                                 unit.</para>
 
                                 <para>Behaviour of
                                 unit.</para>
 
                                 <para>Behaviour of
                                 </listitem>
                         </varlistentry>
 
                                 </listitem>
                         </varlistentry>
 
+                        <varlistentry>
+                                <term><varname>GuessMainPID=</varname></term>
+
+                                <listitem><para>Takes a boolean value
+                                that specifies whether systemd should
+                                try to guess the main PID of a service
+                                should if it cannot be determined
+                                reliably. This option is ignored
+                                unless <option>Type=forking</option>
+                                is set and <option>PIDFile=</option>
+                                is unset because for the other types
+                                or with an explicitly configured PID
+                                file the main PID is always known. The
+                                guessing algorithm might come to
+                                incorrect conclusions if a daemon
+                                consists of more than one process. If
+                                the main PID cannot be determined
+                                failure detection and automatic
+                                restarting of a service will not work
+                                reliably. Defaults to
+                                <option>yes</option>.</para>
+                                </listitem>
+                        </varlistentry>
+
                         <varlistentry>
                                 <term><varname>PIDFile=</varname></term>
 
                         <varlistentry>
                                 <term><varname>PIDFile=</varname></term>
 
                                 daemon. Use of this option is
                                 recommended for services where
                                 <varname>Type=</varname> is set to
                                 daemon. Use of this option is
                                 recommended for services where
                                 <varname>Type=</varname> is set to
-                                <option>forking</option>.</para>
+                                <option>forking</option>. systemd will
+                                read the PID of the main process of
+                                the daemon after start-up of the
+                                service. systemd will not write to the
+                                file configured here.</para>
                                 </listitem>
                         </varlistentry>
 
                                 </listitem>
                         </varlistentry>
 
                                 <literal>-</literal> an exit code of
                                 the command normally considered a
                                 failure (i.e. non-zero exit status or
                                 <literal>-</literal> an exit code of
                                 the command normally considered a
                                 failure (i.e. non-zero exit status or
-                                abormal exit due to signal) is ignored
+                                abnormal exit due to signal) is ignored
                                 and considered success. If both
                                 <literal>-</literal> and
                                 <literal>@</literal> are used for the
                                 and considered success. If both
                                 <literal>-</literal> and
                                 <literal>@</literal> are used for the
-                                same command the former must preceed
+                                same command the former must precede
                                 the latter. Unless
                                 <varname>Type=forking</varname> is
                                 set, the process started via this
                                 the latter. Unless
                                 <varname>Type=forking</varname> is
                                 set, the process started via this
                                 after the other,
                                 serially. Alternatively, these
                                 directives may be specified more than
                                 after the other,
                                 serially. Alternatively, these
                                 directives may be specified more than
-                                once whith the same effect. However,
+                                once with the same effect. However,
                                 the latter syntax is not recommended
                                 for compatibility with parsers
                                 suitable for XDG
                                 the latter syntax is not recommended
                                 for compatibility with parsers
                                 suitable for XDG
                                 time span value such as "5min
                                 20s". Pass 0 to disable the timeout
                                 logic. Defaults to
                                 time span value such as "5min
                                 20s". Pass 0 to disable the timeout
                                 logic. Defaults to
-                                60s.</para></listitem>
+                                90s.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
                         </varlistentry>
 
                         <varlistentry>
                                 i.e. terminated with an exit code of
                                 0. If set to
                                 <option>on-failure</option> it will be
                                 i.e. terminated with an exit code of
                                 0. If set to
                                 <option>on-failure</option> it will be
-                                restared only when it exited with an
+                                restarted only when it exited with an
                                 exit code not equalling 0, or when
                                 terminated by a signal. If set to
                                 <option>on-abort</option> it will be
                                 exit code not equalling 0, or when
                                 terminated by a signal. If set to
                                 <option>on-abort</option> it will be
                                 processes of this service shall be
                                 killed. One of
                                 <option>control-group</option>,
                                 processes of this service shall be
                                 killed. One of
                                 <option>control-group</option>,
-                                <option>process-group</option>,
                                 <option>process</option>,
                                 <option>none</option>.</para>
 
                                 <option>process</option>,
                                 <option>none</option>.</para>
 
                                 stop command (as configured with
                                 <varname>ExecStop=</varname>) is
                                 executed. If set to
                                 stop command (as configured with
                                 <varname>ExecStop=</varname>) is
                                 executed. If set to
-                                <option>process-group</option> only
-                                the members of the process group of
-                                the main service process are
-                                killed. If set to
                                 <option>process</option> only the main
                                 process itself is killed. If set to
                                 <option>none</option> no process is
                                 <option>process</option> only the main
                                 process itself is killed. If set to
                                 <option>none</option> no process is
                                 <option>control-group</option>.</para>
 
                                 <para>Processes will first be
                                 <option>control-group</option>.</para>
 
                                 <para>Processes will first be
-                                terminated via SIGTERM. If then after
-                                a delay (configured via the
+                                terminated via SIGTERM (unless the
+                                signal to send is changed via
+                                <varname>KillSignal=</varname>). If
+                                then after a delay (configured via the
                                 <varname>TimeoutSec=</varname> option)
                                 processes still remain, the
                                 termination request is repeated with
                                 <varname>TimeoutSec=</varname> option)
                                 processes still remain, the
                                 termination request is repeated with
-                                the SIGKILL signal. See
+                                the SIGKILL signal (unless this is
+                                disabled via the
+                                <varname>SendSIGKILL=</varname>
+                                option). See
                                 <citerefentry><refentrytitle>kill</refentrytitle><manvolnum>2</manvolnum></citerefentry>
                                 for more
                                 information.</para></listitem>
                         </varlistentry>
 
                                 <citerefentry><refentrytitle>kill</refentrytitle><manvolnum>2</manvolnum></citerefentry>
                                 for more
                                 information.</para></listitem>
                         </varlistentry>
 
+                        <varlistentry>
+                                <term><varname>KillSignal=</varname></term>
+                                <listitem><para>Specifies which signal
+                                to use when killing a
+                                service. Defaults to SIGTERM.
+                                </para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><varname>SendSIGKILL=</varname></term>
+                                <listitem><para>Specifies whether to
+                                send SIGKILL to remaining processes
+                                after a timeout, if the normal
+                                shutdown procedure left processes of
+                                the service around. Takes a boolean
+                                value. Defaults to "yes".
+                                </para></listitem>
+                        </varlistentry>
+
                         <varlistentry>
                                 <term><varname>NonBlocking=</varname></term>
                                 <listitem><para>Set O_NONBLOCK flag
                         <varlistentry>
                                 <term><varname>NonBlocking=</varname></term>
                                 <listitem><para>Set O_NONBLOCK flag