You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by co...@apache.org on 2005/08/26 18:11:49 UTC
svn commit: r240271 - in /httpd/httpd/trunk/docs/manual: mod/mpm_common.xml
programs/apachectl.xml programs/httpd.xml stopping.xml
Author: colm
Date: Fri Aug 26 09:11:45 2005
New Revision: 240271
URL: http://svn.apache.org/viewcvs?rev=240271&view=rev
Log:
Documentation changes relevant to new graceful-stop command line argument
for httpd and apachectl, and the the "GracefulShutdownTimeout" directive.
Modified:
httpd/httpd/trunk/docs/manual/mod/mpm_common.xml
httpd/httpd/trunk/docs/manual/programs/apachectl.xml
httpd/httpd/trunk/docs/manual/programs/httpd.xml
httpd/httpd/trunk/docs/manual/stopping.xml
Modified: httpd/httpd/trunk/docs/manual/mod/mpm_common.xml
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/docs/manual/mod/mpm_common.xml?rev=240271&r1=240270&r2=240271&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/mod/mpm_common.xml (original)
+++ httpd/httpd/trunk/docs/manual/mod/mpm_common.xml Fri Aug 26 09:11:45 2005
@@ -157,6 +157,26 @@
</directivesynopsis>
<directivesynopsis>
+<name>GracefulShutdownTimeout</name>
+<description>Specify a timeout after which a gracefully shutdown server
+will exit.</description>
+<syntax>GracefulShutDownTimeout <var>seconds</var></syntax>
+<default>GracefulShutDownTimeout 0</default>
+<contextlist><context>server config</context></contextlist>
+<modulelist><module>prefork</module></modulelist>
+<compatibility>Available in version 2.4 and later</compatibility>
+
+<usage>
+ <p>The <directive>GracefulShutdownTimeout</directive> specifies
+ how many seconds after receiving a "graceful-stop" signal, a
+ server should continue to run, handling the existing connections.</p>
+
+ <p>Setting this value to zero means that the server will wait
+ indefinitely until all remaining requests have been fully served.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
<name>Group</name>
<description>Group under which the server will answer
requests</description>
Modified: httpd/httpd/trunk/docs/manual/programs/apachectl.xml
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/docs/manual/programs/apachectl.xml?rev=240271&r1=240270&r2=240271&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/programs/apachectl.xml (original)
+++ httpd/httpd/trunk/docs/manual/programs/apachectl.xml Fri Aug 26 09:11:45 2005
@@ -125,6 +125,13 @@
restart to make sure Apache doesn't die. This is equivalent to
<code>apachectl -k graceful</code>.</dd>
+<dt><code>graceful-stop</code></dt>
+
+<dd>Gracefully stops the Apache <program>httpd</program> daemon.
+This differs from a normal stop in that currently open connections are not
+aborted. A side effect is that old log files will not be closed immediately.
+This is equivalent to <code>apachectl -k graceful-stop</code>.</dd>
+
<dt><code>configtest</code></dt>
<dd>Run a configuration file syntax test. It parses the configuration
Modified: httpd/httpd/trunk/docs/manual/programs/httpd.xml
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/docs/manual/programs/httpd.xml?rev=240271&r1=240270&r2=240271&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/programs/httpd.xml (original)
+++ httpd/httpd/trunk/docs/manual/programs/httpd.xml Fri Aug 26 09:11:45 2005
@@ -51,7 +51,8 @@
[ -<strong>C</strong> <var>directive</var> ] [ -<strong>c</strong>
<var>directive</var> ] [ -<strong>D</strong> <var>parameter</var> ]
[ -<strong>e</strong> <var>level</var> ] [ -<strong>E</strong>
- <var>file</var> ] [ <strong>-k</strong> start|restart|graceful|stop ]
+ <var>file</var> ]
+ [ <strong>-k</strong> start|restart|graceful|stop|graceful-stop ]
[ -<strong>R</strong> <var>directory</var> ] [ -<strong>h</strong> ]
[ -<strong>l</strong> ] [ -<strong>L</strong> ] [ -<strong>S</strong> ]
[ -<strong>t</strong> ] [ -<strong>v</strong> ] [ -<strong>V</strong> ]
@@ -84,7 +85,7 @@
module="core">ServerRoot</directive>. The default is
<code>conf/httpd.conf</code>.</dd>
-<dt><code>-k <code>start|restart|graceful|stop</code></code></dt>
+<dt><code>-k <code>start|restart|graceful|stop|graceful-stop</code></code></dt>
<dd>Signals <code>httpd</code> to start, restart, or stop. See <a
href="../stopping.html">Stopping Apache</a> for more information.</dd>
Modified: httpd/httpd/trunk/docs/manual/stopping.xml
URL: http://svn.apache.org/viewcvs/httpd/httpd/trunk/docs/manual/stopping.xml?rev=240271&r1=240270&r2=240271&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/stopping.xml (original)
+++ httpd/httpd/trunk/docs/manual/stopping.xml Fri Aug 26 09:11:45 2005
@@ -61,7 +61,7 @@
<p>The second method of signaling the <program>httpd</program> processes
is to use the <code>-k</code> command line options: <code>stop</code>,
- <code>restart</code>, and <code>graceful</code>,
+ <code>restart</code>, <code>graceful</code> and <code>graceful-stop</code>,
as described below. These are arguments to the <program>
httpd</program> binary, but we recommend that
you send them using the <program>apachectl</program> control script, which
@@ -180,6 +180,31 @@
restart then your parent will not restart, it will exit with an
error. See above for a method of avoiding this.</note>
</section>
+
+<section id="gracefulstop"><title>Graceful Stop</title>
+
+<dl><dt>Signal: WINCH</dt>
+<dd><code>apachectl -k graceful-stop</code></dd>
+</dl>
+
+ <p>The <code>WINCH</code> or <code>graceful-stop</code> signal causes
+ the parent process to <em>advise</em> the children to exit after
+ their current request (or to exit immediately if they're not
+ serving anything). The parent will then remove it's <directive
+ module="mpm_common">PidFile</directive> and cease listening on
+ all ports. The parent will continue to run, and monitor children
+ which are handling requests. Once all children have finalised
+ and exited or the timeout specified by the <directive
+ module="mpm_common">GracefulShutdownTimeout</directive> has been
+ reached, the parent will also exit.</p>
+
+ <p>A <code>TERM</code> signal will immediately terminate the
+ parent process and all children when in the "graceful" state. However
+ as the <directive module="mpm_common">PidFile</directive> will
+ have been removed, you will not be able to use
+ <code>apachectl</code> or <code>httpd</code> to send this signal,</p>
+</section>
+
<section id="race"><title>Appendix: signals and race conditions</title>