]> git.ipfire.org Git - thirdparty/systemd.git/blob - man/systemd.kill.xml
Merge pull request #11621 from yuwata/man-ref-systemd-system-conf
[thirdparty/systemd.git] / man / systemd.kill.xml
1 <?xml version='1.0'?> <!--*-nxml-*-->
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4
5 <!--
6 SPDX-License-Identifier: LGPL-2.1+
7 -->
8
9 <refentry id="systemd.kill">
10 <refentryinfo>
11 <title>systemd.kill</title>
12 <productname>systemd</productname>
13 </refentryinfo>
14
15 <refmeta>
16 <refentrytitle>systemd.kill</refentrytitle>
17 <manvolnum>5</manvolnum>
18 </refmeta>
19
20 <refnamediv>
21 <refname>systemd.kill</refname>
22 <refpurpose>Process killing procedure
23 configuration</refpurpose>
24 </refnamediv>
25
26 <refsynopsisdiv>
27 <para><filename><replaceable>service</replaceable>.service</filename>,
28 <filename><replaceable>socket</replaceable>.socket</filename>,
29 <filename><replaceable>mount</replaceable>.mount</filename>,
30 <filename><replaceable>swap</replaceable>.swap</filename>,
31 <filename><replaceable>scope</replaceable>.scope</filename></para>
32 </refsynopsisdiv>
33
34 <refsect1>
35 <title>Description</title>
36
37 <para>Unit configuration files for services, sockets, mount
38 points, swap devices and scopes share a subset of configuration
39 options which define the killing procedure of processes belonging
40 to the unit.</para>
41
42 <para>This man page lists the configuration options shared by
43 these five unit types. See
44 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
45 for the common options shared by all unit configuration files, and
46 <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
47 <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
48 <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
49 <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>
50 and
51 <citerefentry><refentrytitle>systemd.scope</refentrytitle><manvolnum>5</manvolnum></citerefentry>
52 for more information on the configuration file options specific to
53 each unit type.</para>
54
55 <para>The kill procedure configuration options are configured in
56 the [Service], [Socket], [Mount] or [Swap] section, depending on
57 the unit type.</para>
58 </refsect1>
59
60 <refsect1>
61 <title>Options</title>
62
63 <variablelist class='unit-directives'>
64
65 <varlistentry>
66 <term><varname>KillMode=</varname></term>
67 <listitem><para>Specifies how processes of this unit shall be
68 killed. One of
69 <option>control-group</option>,
70 <option>process</option>,
71 <option>mixed</option>,
72 <option>none</option>.</para>
73
74 <para>If set to <option>control-group</option>, all remaining
75 processes in the control group of this unit will be killed on
76 unit stop (for services: after the stop command is executed,
77 as configured with <varname>ExecStop=</varname>). If set to
78 <option>process</option>, only the main process itself is
79 killed. If set to <option>mixed</option>, the
80 <constant>SIGTERM</constant> signal (see below) is sent to the
81 main process while the subsequent <constant>SIGKILL</constant>
82 signal (see below) is sent to all remaining processes of the
83 unit's control group. If set to <option>none</option>, no
84 process is killed. In this case, only the stop command will be
85 executed on unit stop, but no process be killed otherwise.
86 Processes remaining alive after stop are left in their control
87 group and the control group continues to exist after stop
88 unless it is empty.</para>
89
90 <para>Processes will first be terminated via
91 <constant>SIGTERM</constant> (unless the signal to send is
92 changed via <varname>KillSignal=</varname>). Optionally, this
93 is immediately followed by a <constant>SIGHUP</constant> (if
94 enabled with <varname>SendSIGHUP=</varname>). If then, after a
95 delay (configured via the <varname>TimeoutStopSec=</varname>
96 option), processes still remain, the termination request is
97 repeated with the <constant>SIGKILL</constant> signal or the
98 signal specified via <varname>FinalKillSignal=</varname> (unless
99 this is disabled via the <varname>SendSIGKILL=</varname>
100 option). See
101 <citerefentry><refentrytitle>kill</refentrytitle><manvolnum>2</manvolnum></citerefentry>
102 for more information.</para>
103
104 <para>Defaults to
105 <option>control-group</option>.</para></listitem>
106 </varlistentry>
107
108 <varlistentry>
109 <term><varname>KillSignal=</varname></term>
110 <listitem><para>Specifies which signal to use when killing a
111 service. This controls the signal that is sent as first step
112 of shutting down a unit (see above), and is usually followed
113 by <constant>SIGKILL</constant> (see above and below). For a
114 list of valid signals, see
115 <citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
116 Defaults to <constant>SIGTERM</constant>. </para>
117
118 <para>Note that, right after sending the signal specified in
119 this setting, systemd will always send
120 <constant>SIGCONT</constant>, to ensure that even suspended
121 tasks can be terminated cleanly.</para>
122 </listitem>
123 </varlistentry>
124
125 <varlistentry>
126 <term><varname>SendSIGHUP=</varname></term>
127 <listitem><para>Specifies whether to send
128 <constant>SIGHUP</constant> to remaining processes immediately
129 after sending the signal configured with
130 <varname>KillSignal=</varname>. This is useful to indicate to
131 shells and shell-like programs that their connection has been
132 severed. Takes a boolean value. Defaults to "no".
133 </para></listitem>
134 </varlistentry>
135
136 <varlistentry>
137 <term><varname>SendSIGKILL=</varname></term>
138 <listitem><para>Specifies whether to send
139 <constant>SIGKILL</constant> (or the signal specified by
140 <varname>FinalKillSignal=</varname>) to remaining processes
141 after a timeout, if the normal shutdown procedure left
142 processes of the service around. Takes a boolean value.
143 Defaults to "yes".
144 </para></listitem>
145 </varlistentry>
146
147 <varlistentry>
148 <term><varname>FinalKillSignal=</varname></term>
149 <listitem><para>Specifies which signal to send to remaining
150 processes after a timeout if <varname>SendSIGKILL=</varname>
151 is enabled. The signal configured here should be one that is
152 not typically caught and processed by services (<constant>SIGTERM</constant>
153 is not suitable). Developers can find it useful to use this to
154 generate a coredump to troubleshoot why a service did not
155 terminate upon receiving the initial <constant>SIGTERM</constant>
156 signal. This can be achieved by configuring <varname>LimitCORE=</varname>
157 and setting <varname>FinalKillSignal=</varname> to either
158 <constant>SIGQUIT</constant> or <constant>SIGABRT</constant>
159 Defaults to <constant>SIGKILL</constant>.
160 </para></listitem>
161 </varlistentry>
162
163 <varlistentry>
164 <term><varname>WatchdogSignal=</varname></term>
165 <listitem><para>Specifies which signal to use to terminate the
166 service when the watchdog timeout expires (enabled through
167 <varname>WatchdogSec=</varname>). Defaults to <constant>SIGABRT</constant>.
168 </para></listitem>
169 </varlistentry>
170
171 </variablelist>
172 </refsect1>
173
174 <refsect1>
175 <title>See Also</title>
176 <para>
177 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
178 <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
179 <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
180 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
181 <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
182 <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
183 <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
184 <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
185 <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
186 <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
187 <citerefentry><refentrytitle>kill</refentrytitle><manvolnum>2</manvolnum></citerefentry>,
188 <citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>
189 </para>
190 </refsect1>
191
192 </refentry>