(C) Copyright IBM Corp. 2007, 2008
Authors:
-Daniel Lezcano <dlezcano at fr.ibm.com>
+Daniel Lezcano <daniel.lezcano at free.fr>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-->
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!DOCTYPE refentry PUBLIC @docdtd@ [
<!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
<!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
<cmdsynopsis>
<command>lxc-stop</command>
<arg choice="req">-n <replaceable>name</replaceable></arg>
+ <arg choice="opt">-W</arg>
+ <arg choice="opt">-r</arg>
+ <arg choice="opt">-t <replaceable>timeout</replaceable></arg>
+ <arg choice="opt">-k</arg>
+ <arg choice="opt">--nokill</arg>
+ <arg choice="opt">--nolock</arg>
</cmdsynopsis>
</refsynopsisdiv>
<title>Description</title>
<para>
- <command>lxc-stop</command> kills all the processes inside the
- container. This command should be used if the processes are no
- longer accessible and can no be exited normally.
+ <command>lxc-stop</command> reboots, cleanly shuts down, or kills
+ all the processes inside the container. By default, it will
+ request a clean shutdown of the container by sending
+ <command>lxc.signal.halt</command> (defaults to SIGPWR) to
+ the container's init process, waiting up to 60 seconds for the container
+ to exit, and then returning. If the container fails to cleanly exit in
+ 60 seconds, it will be sent the <command>lxc.signal.stop</command>
+ (defaults to SIGKILL) to force it to shut down. A request to reboot will
+ send the <command>lxc.signal.reboot</command> (defaults to SIGINT) to the
+ container's init process.
</para>
-
+ <para>
+ The <optional>-W</optional>, <optional>-r</optional>,
+ <optional>-k</optional> and <optional>--nokill</optional>
+ options specify the action to perform.
+ <optional>-W</optional> indicates that after performing the specified
+ action, <command>lxc-stop</command> should immediately exit, while
+ <optional>-t TIMEOUT</optional> specifies the maximum amount of time
+ to wait for the container to complete the shutdown or reboot.
+ </para>
</refsect1>
- &commonoptions;
+ <refsect1>
+ <title>Options</title>
+ <variablelist>
+
+ <varlistentry>
+ <term>
+ <option>-r,--reboot </option>
+ </term>
+ <listitem>
+ <para>
+ Request a reboot of the container.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>-k,--kill </option>
+ </term>
+ <listitem>
+ <para>
+ Rather than requesting a clean shutdown of the container, explicitly
+ kill all tasks in the container. This is the legacy
+ <command>lxc-stop</command> behavior.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>--nokill</option>
+ </term>
+ <listitem>
+ <para>
+ Only request a clean shutdown, do not kill the container tasks if the
+ clean shutdown fails.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>--nolock </option>
+ </term>
+ <listitem>
+ <para>
+ This option avoids the use of any of the API lxc locking, and should
+ only be used if <command>lxc-stop</command> is hanging due to a bad
+ system state.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>-W,--nowait </option>
+ </term>
+ <listitem>
+ <para>
+ Simply perform the requestion action (reboot, shutdown, or hard
+ kill) and exit.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>-t,--timeout <replaceable>TIMEOUT</replaceable></option>
+ </term>
+ <listitem>
+ <para>
+ Wait TIMEOUT seconds before hard-stopping the container.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+ </refsect1>
<refsect1>
- <title>Diagnostic</title>
+ <title>Exit value</title>
<variablelist>
<varlistentry>
- <term>The container is busy</term>
+ <term>0</term>
<listitem>
<para>
- The specified container is already running an
- application. You should stop it before reuse this
- container or create a new one.
+ The container was successfully stopped.
</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term>1</term>
+ <listitem>
+ <para>
+ An error occurred while stopping the container.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>2</term>
+ <listitem>
+ <para>
+ The specified container exists but was not running.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </refsect1>
+ <refsect1>
+ <title>Diagnostic</title>
+
+ <variablelist>
+
<varlistentry>
<term>The container was not found</term>
<listitem>
</listitem>
</varlistentry>
-
</variablelist>
</refsect1>