]> git.proxmox.com Git - mirror_lxc.git/blobdiff - doc/lxc-stop.sgml.in
af_unix: add lxc_abstract_unix_send_fds_iov
[mirror_lxc.git] / doc / lxc-stop.sgml.in
index 64fceb886e8dc92c8d9f54024a584ded818f755b..09db5f6215ee461ad40a5f1fbcaa1228e5c5ce4c 100644 (file)
@@ -5,7 +5,7 @@ lxc: linux Container library
 (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
@@ -19,11 +19,11 @@ Lesser General Public License for more details.
 
 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">
@@ -50,6 +50,12 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
     <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>
 
@@ -57,31 +63,147 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
     <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>
@@ -92,7 +214,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
         </listitem>
       </varlistentry>
 
-
     </variablelist>
 
   </refsect1>