]> git.ipfire.org Git - thirdparty/systemd.git/blob - man/systemd.kill.xml
man: standarize on one-line license header
[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 <!-- SPDX-License-Identifier: LGPL-2.1+ -->
5
6 <refentry id="systemd.kill">
7 <refentryinfo>
8 <title>systemd.kill</title>
9 <productname>systemd</productname>
10 </refentryinfo>
11
12 <refmeta>
13 <refentrytitle>systemd.kill</refentrytitle>
14 <manvolnum>5</manvolnum>
15 </refmeta>
16
17 <refnamediv>
18 <refname>systemd.kill</refname>
19 <refpurpose>Process killing procedure
20 configuration</refpurpose>
21 </refnamediv>
22
23 <refsynopsisdiv>
24 <para><filename><replaceable>service</replaceable>.service</filename>,
25 <filename><replaceable>socket</replaceable>.socket</filename>,
26 <filename><replaceable>mount</replaceable>.mount</filename>,
27 <filename><replaceable>swap</replaceable>.swap</filename>,
28 <filename><replaceable>scope</replaceable>.scope</filename></para>
29 </refsynopsisdiv>
30
31 <refsect1>
32 <title>Description</title>
33
34 <para>Unit configuration files for services, sockets, mount
35 points, swap devices and scopes share a subset of configuration
36 options which define the killing procedure of processes belonging
37 to the unit.</para>
38
39 <para>This man page lists the configuration options shared by
40 these five unit types. See
41 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
42 for the common options shared by all unit configuration files, and
43 <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
44 <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
45 <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
46 <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>
47 and
48 <citerefentry><refentrytitle>systemd.scope</refentrytitle><manvolnum>5</manvolnum></citerefentry>
49 for more information on the configuration file options specific to
50 each unit type.</para>
51
52 <para>The kill procedure configuration options are configured in
53 the [Service], [Socket], [Mount] or [Swap] section, depending on
54 the unit type.</para>
55 </refsect1>
56
57 <refsect1>
58 <title>Options</title>
59
60 <variablelist class='unit-directives'>
61
62 <varlistentry>
63 <term><varname>KillMode=</varname></term>
64 <listitem><para>Specifies how processes of this unit shall be
65 killed. One of
66 <option>control-group</option>,
67 <option>process</option>,
68 <option>mixed</option>,
69 <option>none</option>.</para>
70
71 <para>If set to <option>control-group</option>, all remaining
72 processes in the control group of this unit will be killed on
73 unit stop (for services: after the stop command is executed,
74 as configured with <varname>ExecStop=</varname>). If set to
75 <option>process</option>, only the main process itself is
76 killed. If set to <option>mixed</option>, the
77 <constant>SIGTERM</constant> signal (see below) is sent to the
78 main process while the subsequent <constant>SIGKILL</constant>
79 signal (see below) is sent to all remaining processes of the
80 unit's control group. If set to <option>none</option>, no
81 process is killed. In this case, only the stop command will be
82 executed on unit stop, but no process be killed otherwise.
83 Processes remaining alive after stop are left in their control
84 group and the control group continues to exist after stop
85 unless it is empty.</para>
86
87 <para>Processes will first be terminated via
88 <constant>SIGTERM</constant> (unless the signal to send is
89 changed via <varname>KillSignal=</varname>). Optionally, this
90 is immediately followed by a <constant>SIGHUP</constant> (if
91 enabled with <varname>SendSIGHUP=</varname>). If then, after a
92 delay (configured via the <varname>TimeoutStopSec=</varname>
93 option), processes still remain, the termination request is
94 repeated with the <constant>SIGKILL</constant> signal or the
95 signal specified via <varname>FinalKillSignal=</varname> (unless
96 this is disabled via the <varname>SendSIGKILL=</varname>
97 option). See
98 <citerefentry><refentrytitle>kill</refentrytitle><manvolnum>2</manvolnum></citerefentry>
99 for more information.</para>
100
101 <para>Defaults to
102 <option>control-group</option>.</para></listitem>
103 </varlistentry>
104
105 <varlistentry>
106 <term><varname>KillSignal=</varname></term>
107 <listitem><para>Specifies which signal to use when killing a
108 service. This controls the signal that is sent as first step
109 of shutting down a unit (see above), and is usually followed
110 by <constant>SIGKILL</constant> (see above and below). For a
111 list of valid signals, see
112 <citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
113 Defaults to <constant>SIGTERM</constant>. </para>
114
115 <para>Note that, right after sending the signal specified in
116 this setting, systemd will always send
117 <constant>SIGCONT</constant>, to ensure that even suspended
118 tasks can be terminated cleanly.</para>
119 </listitem>
120 </varlistentry>
121
122 <varlistentry>
123 <term><varname>SendSIGHUP=</varname></term>
124 <listitem><para>Specifies whether to send
125 <constant>SIGHUP</constant> to remaining processes immediately
126 after sending the signal configured with
127 <varname>KillSignal=</varname>. This is useful to indicate to
128 shells and shell-like programs that their connection has been
129 severed. Takes a boolean value. Defaults to "no".
130 </para></listitem>
131 </varlistentry>
132
133 <varlistentry>
134 <term><varname>SendSIGKILL=</varname></term>
135 <listitem><para>Specifies whether to send
136 <constant>SIGKILL</constant> (or the signal specified by
137 <varname>FinalKillSignal=</varname>) to remaining processes
138 after a timeout, if the normal shutdown procedure left
139 processes of the service around. When disabled, a
140 <varname>KillMode=</varname> of <constant>control-group</constant>
141 or <constant>mixed</constant> service will not restart if
142 processes from prior services exist within the control group.
143 Takes a boolean value. 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>