Make final kill signal configurable
Usecase is to allow changing the final kill from SIGKILL to SIGQUIT which should create a core dump useful for debugging why the service didn't stop with the SIGTERM
This commit is contained in:
committed by
Lennart Poettering
parent
2484bff32b
commit
fbb48d4c66
+23
-4
@@ -94,7 +94,8 @@
|
||||
enabled with <varname>SendSIGHUP=</varname>). If then, after a
|
||||
delay (configured via the <varname>TimeoutStopSec=</varname>
|
||||
option), processes still remain, the termination request is
|
||||
repeated with the <constant>SIGKILL</constant> signal (unless
|
||||
repeated with the <constant>SIGKILL</constant> signal or the
|
||||
signal specified via <varname>FinalKillSignal=</varname> (unless
|
||||
this is disabled via the <varname>SendSIGKILL=</varname>
|
||||
option). See
|
||||
<citerefentry><refentrytitle>kill</refentrytitle><manvolnum>2</manvolnum></citerefentry>
|
||||
@@ -135,9 +136,27 @@
|
||||
<varlistentry>
|
||||
<term><varname>SendSIGKILL=</varname></term>
|
||||
<listitem><para>Specifies whether to send
|
||||
<constant>SIGKILL</constant> to remaining processes after a
|
||||
timeout, if the normal shutdown procedure left processes of
|
||||
the service around. Takes a boolean value. Defaults to "yes".
|
||||
<constant>SIGKILL</constant> (or the signal specified by
|
||||
<varname>FinalKillSignal=</varname>) 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>FinalKillSignal=</varname></term>
|
||||
<listitem><para>Specifies which signal to send to remaining
|
||||
processes after a timeout if <varname>SendSIGKILL=</varname>
|
||||
is enabled. The signal configured here should be one that is
|
||||
not typically caught and processed by services (<constant>SIGTERM</constant>
|
||||
is not suitable). Developers can find it useful to use this to
|
||||
generate a coredump to troubleshoot why a service did not
|
||||
terminate upon receiving the initial <constant>SIGTERM</constant>
|
||||
signal. This can be achieved by configuring <varname>LimitCORE=</varname>
|
||||
and setting <varname>FinalKillSignal=</varname> to either
|
||||
<constant>SIGQUIT</constant> or <constant>SIGABRT</constant>
|
||||
Defaults to <constant>SIGKILL</constant>.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user