<?xml version='1.0'?> <!--*-nxml-*-->
<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
        "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">

<!--
  This file is part of systemd.

  Copyright 2012 Lennart Poettering

  systemd is free software; you can redistribute it and/or modify it
  under the terms of the GNU Lesser General Public License as published by
  the Free Software Foundation; either version 2.1 of the License, or
  (at your option) any later version.

  systemd is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public License
  along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->

<refentry id="systemd.kill">
        <refentryinfo>
                <title>systemd.kill</title>
                <productname>systemd</productname>

                <authorgroup>
                        <author>
                                <contrib>Developer</contrib>
                                <firstname>Lennart</firstname>
                                <surname>Poettering</surname>
                                <email>lennart@poettering.net</email>
                        </author>
                </authorgroup>
        </refentryinfo>

        <refmeta>
                <refentrytitle>systemd.kill</refentrytitle>
                <manvolnum>5</manvolnum>
        </refmeta>

        <refnamediv>
                <refname>systemd.kill</refname>
                <refpurpose>Process killing procedure
                configuration</refpurpose>
        </refnamediv>

        <refsynopsisdiv>
                <para><filename><replaceable>service</replaceable>.service</filename>,
                <filename><replaceable>socket</replaceable>.socket</filename>,
                <filename><replaceable>mount</replaceable>.mount</filename>,
                <filename><replaceable>swap</replaceable>.swap</filename>,
                <filename><replaceable>scope</replaceable>.scope</filename></para>
        </refsynopsisdiv>

        <refsect1>
                <title>Description</title>

                <para>Unit configuration files for services, sockets,
                mount points, swap devices and scopes share a subset
                of configuration options which define the
                killing procedure of processes belonging to the unit.</para>

                <para>This man page lists the configuration options
                shared by these five unit types. See
                <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
                for the common options shared by all unit
                configuration files, and
                <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>
                and
                <citerefentry><refentrytitle>systemd.scope</refentrytitle><manvolnum>5</manvolnum></citerefentry>
                for more information on the configuration file options
                specific to each unit type.</para>

                <para>The kill procedure
                configuration options are configured in the [Service],
                [Socket], [Mount] or [Swap] section, depending on the
                unit type.</para>
        </refsect1>

        <refsect1>
                <title>Options</title>

                <variablelist class='unit-directives'>

                        <varlistentry>
                                <term><varname>KillMode=</varname></term>
                                <listitem><para>Specifies how
                                processes of this unit shall be
                                killed. One of
                                <option>control-group</option>,
                                <option>process</option>,
                                <option>mixed</option>,
                                <option>none</option>.</para>

                                <para>If set to
                                <option>control-group</option>, all
                                remaining processes in the control
                                group of this unit will be killed on
                                unit stop (for services: after the
                                stop command is executed, as
                                configured with
                                <varname>ExecStop=</varname>). If set
                                to <option>process</option>, only the
                                main process itself is killed. If set
                                to <option>mixed</option>, the
                                <constant>SIGTERM</constant> signal
                                (see below) is sent to the main
                                process while the subsequent
                                <constant>SIGKILL</constant> signal
                                (see below) is sent to all remaining
                                processes of the unit's control
                                group. If set to
                                <option>none</option>, no process is
                                killed. In this case, only the stop
                                command will be executed on unit stop,
                                but no process be killed
                                otherwise. Processes remaining alive
                                after stop are left in their control
                                group and the control group continues
                                to exist after stop unless it is
                                empty.</para>

                                <para>Processes will first be
                                terminated via
                                <constant>SIGTERM</constant> (unless
                                the signal to send is changed via
                                <varname>KillSignal=</varname>). Optionally,
                                this is immediately followed by a
                                <constant>SIGHUP</constant> (if
                                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 this is disabled via
                                the <varname>SendSIGKILL=</varname>
                                option). See
                                <citerefentry><refentrytitle>kill</refentrytitle><manvolnum>2</manvolnum></citerefentry>
                                for more
                                information.</para>

                                <para>Defaults to
                                <option>control-group</option>.</para></listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><varname>KillSignal=</varname></term>
                                <listitem><para>Specifies which signal
                                to use when killing a service. This
                                controls the signal that is sent as
                                first step of shutting down a unit
                                (see above), and is usually followed
                                by <constant>SIGKILL</constant> (see
                                above and below). For a list of valid
                                signals, see
                                <citerefentry><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>. Defaults
                                to <constant>SIGTERM</constant>.
                                </para></listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><varname>SendSIGHUP=</varname></term>
                                <listitem><para>Specifies whether to
                                send <constant>SIGHUP</constant> to
                                remaining processes immediately after
                                sending the signal configured with
                                <varname>KillSignal=</varname>. This
                                is useful to indicate to shells and
                                shell-like programs that their
                                connection has been severed. Takes a
                                boolean value. Defaults to "no".
                                </para></listitem>
                        </varlistentry>

                        <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".
                                </para></listitem>
                        </varlistentry>

                </variablelist>
        </refsect1>

        <refsect1>
                  <title>See Also</title>
                  <para>
                          <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                          <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
                          <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
                          <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                          <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                          <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                          <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                          <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                          <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                          <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
                          <citerefentry><refentrytitle>kill</refentrytitle><manvolnum>2</manvolnum></citerefentry>,
                          <citerefentry><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>
                  </para>
        </refsect1>

</refentry>