41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<?xml version='1.0' encoding='UTF-8' ?>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<?xml-stylesheet type="text/xsl" href="/style/manual.es.xsl"?>
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf<!-- English Revision: 105989:1174747 (outdated) -->
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<!--
031b91a62d25106ae69d4693475c79618dd5e884fielding Licensed to the Apache Software Foundation (ASF) under one or more
031b91a62d25106ae69d4693475c79618dd5e884fielding contributor license agreements. See the NOTICE file distributed with
031b91a62d25106ae69d4693475c79618dd5e884fielding this work for additional information regarding copyright ownership.
031b91a62d25106ae69d4693475c79618dd5e884fielding The ASF licenses this file to You under the Apache License, Version 2.0
031b91a62d25106ae69d4693475c79618dd5e884fielding (the "License"); you may not use this file except in compliance with
031b91a62d25106ae69d4693475c79618dd5e884fielding the License. You may obtain a copy of the License at
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd http://www.apache.org/licenses/LICENSE-2.0
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd Unless required by applicable law or agreed to in writing, software
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd distributed under the License is distributed on an "AS IS" BASIS,
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd See the License for the specific language governing permissions and
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd limitations under the License.
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd-->
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<manualpage metafile="stopping.xml.meta">
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <title>Iniciar y Parar el servidor Apache</title>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<summary>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Este documento explica como iniciar y parar el servidor Apache
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd en sistemas tipo Unix. Los usuarios de Windows NT, 2000 y XP
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd deben consultar la secci&#243;n <a
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd href="platform/windows.html#winsvc">Ejecutar Apache como un
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd servicio</a> y los usuario de Windows 9x y ME deben consultar <a
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd href="platform/windows.html#wincons">Ejecutar Apache como una
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd Aplicaci&#243;n de Consola</a> para obtener informaci&#243;n
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd sobre como controlar Apache en esas plataformas.</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd</summary>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<seealso><a href="programs/httpd.html">httpd</a></seealso>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<seealso><a href="programs/apachectl.html">apachectl</a></seealso>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<section id="introduction"><title>Introducci&#243;n</title>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Para parar y reiniciar Apache, hay que enviar la se&#241;al
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd apropiada al proceso padre <code>httpd</code> que se est&#233;
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd ejecutando. Hay dos maneras de enviar estas se&#241;ales. En
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd primer lugar, puede usar el comando de Unix <code>kill</code> que
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd env&#237;a se&#241;ales directamente a los procesos. Puede que
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd tenga varios procesos <code>httpd</code> ejecutandose en su
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd sistema, pero las se&#241;ales deben enviarse solamente al proceso
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd padre, cuyo pid est&#225; especificado en la directiva <directive
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd module="mpm_common">PidFile</directive>. Esto quiere decir que no
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd debe necesitar enviar se&#241;ales a ning&#250;n proceso excepto
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd al proceso padre. Hay tres se&#241;ales que puede enviar al
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd proceso padre: <code><a href="#term">TERM</a></code>, <code><a
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd href="#hup">HUP</a></code>, y <code><a
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd href="#graceful">USR1</a></code>, que van a ser descritas a
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd continuaci&#243;n.</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Para enviar una se&#241;al al proceso padre debe escribir un
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd comando como el que se muestra en el ejemplo:</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<example>kill -TERM `cat /usr/local/apache2/logs/httpd.pid`</example>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>La segunda manera de enviar se&#241;ales a los procesos
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <code>httpd</code> es usando las opciones de l&#237;nea de
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd comandos <code>-k</code>: <code>stop</code>, <code>restart</code>,
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd y <code>graceful</code>, como se muestra m&#225;s abajo. Estas
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd opciones se le pueden pasar al binario <a
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd href="programs/httpd.html">httpd</a>, pero se recomienda que se
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd pasen al script de control <a
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd href="programs/apachectl.html">apachectl</a>, que a su vez los
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd pasar&#225; a <code>httpd</code>.</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Despu&#233;s de haber enviado las se&#241;ales que desee a
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <code>httpd</code>, puede ver como progresa el proceso
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd escribiendo:</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<example>tail -f /usr/local/apache2/logs/error_log</example>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Modifique estos ejemplos para que coincidan con la
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd configuraci&#243;n que tenga especificada en las directivas
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <directive module="core">ServerRoot</directive> y <directive
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd module="mpm_common">PidFile</directive> en su fichero principal de
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd configuraci&#243;n.</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd</section>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<section id="term"><title>Parar Apache</title>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<dl><dt>Se&#241;al: TERM</dt>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<dd><code>apachectl -k stop</code></dd>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd</dl>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Enviar las se&#241;ales <code>TERM</code> o <code>stop</code>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd al proceso padre hace que se intenten eliminar todos los procesos
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd hijo inmediatamente. Esto puede tardar algunos minutos. Una vez
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd que hayan terminado todos los procesos hijo, terminar&#225; el
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd proceso padre. Cualquier petici&#243;n en proceso terminar&#225;
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd inmediatanmente, y ninguna petici&#243;n posterior ser&#225;
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd atendida.</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd</section>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<section id="graceful"><title>Reinicio Graceful</title>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<dl><dt>Se&#241;al: USR1</dt>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<dd><code>apachectl -k graceful</code></dd>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd</dl>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Las se&#241;ales <code>USR1</code> o <code>graceful</code>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd hacen que el proceso padre <em>indique</em> a sus hijos que
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd terminen despu&#233;s de servir la petici&#243;n que est&#233;n
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd atendiendo en ese momento (o de inmediato si no est&#225;n
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd sirviendo ninguna petici&#243;n). El proceso padre lee de nuevo
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd sus ficheros de configuraci&#243;n y vuelve a abrir sus ficheros
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd log. Conforme cada hijo va terminando, el proceso padre lo va
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd sustituyendo con un hijo de una nueva <em>generaci&#243;n</em> con
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd la nueva configuraci&#243;n, que empeciezan a servir peticiones
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd inmediatamente.</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <note>En algunas plataformas que no permiten usar
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <code>USR1</code> para reinicios graceful, puede usarse una
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd se&#241;al alternativa (como <code>WINCH</code>). Tambien puede
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd usar <code>apachectl graceful</code> y el script de control
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd enviar&#225; la se&#241;al adecuada para su plataforma.</note>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Apache est&#225; dise&#241;ado para respetar en todo momento la
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd directiva de control de procesos de los MPM, as&#237; como para
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd que el n&#250;mero de procesos y hebras disponibles para servir a
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd los clientes se mantenga en los valores adecuados durante el
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd proceso de reinicio. A&#250;n m&#225;s, est&#225; dise&#241;ado
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd para respetar la directiva <directive
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd module="mpm_common">StartServers</directive> de la siguiente
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd manera: si despu&#233;s de al menos un segundo el nuevo hijo de la
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd directiva <directive module="mpm_common">StartServers</directive>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd no ha sido creado, entonces crea los suficientes para se atienda
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd el trabajo que queda por hacer. As&#237;, se intenta mantener
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd tanto el n&#250;mero de hijos adecuado para el trabajo que el
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd servidor tenga en ese momento, como respetar la configuraci&#243;n
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd determinada por los par&#225;metros de la directiva
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <directive>StartServers</directive>.</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Los usuarios del m&#243;dulo <module>mod_status</module>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd notar&#225;n que las estad&#237;sticas del servidor
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <strong>no</strong> se ponen a cero cuando se usa la se&#241;al
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <code>USR1</code>. Apache fue escrito tanto para minimizar el
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd tiempo en el que el servidor no puede servir nuevas peticiones
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd (que se pondr&#225;n en cola por el sistema operativo, de modo que
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd se no se pierda ning&#250;n evento), como para respetar sus
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd par&#225;metros de ajuste. Para hacer esto, tiene que guardar el
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <em>scoreboard</em> usado para llevar el registro de los procesos
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd hijo a trav&#233;s de las distintas generaciones.</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>El mod_status tambi&#233;n usa una <code>G</code> para indicar
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd que esos hijos est&#225;n todav&#237;a sirviendo peticiones
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd previas al reinicio graceful.</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Actualmente no existe ninguna manera de que un script con un
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd log de rotaci&#243;n usando <code>USR1</code> sepa con seguridad
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd que todos los hijos que se registraron en el log con anterioridad
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd al reinicio han terminado. Se aconseja que se use un retardo
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd adecuado despu&#233;s de enviar la se&#241;al <code>USR1</code>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd antes de hacer nada con el log antiguo. Por ejemplo, si la mayor
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd parte las visitas que recibe de usuarios que tienen conexiones de
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd baja velocidad tardan menos de 10 minutos en completarse, entoces
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd espere 15 minutos antes de hacer nada con el log antiguo.</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <note>Si su fichero de configuraci&#243;n tiene errores cuando
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd haga el reinicio, entonces el proceso padre no se reinciciar&#225;
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd y terminar&#225; con un error. En caso de un reinicio graceful,
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd tambi&#233;n dejar&#225; a los procesos hijo ejecutandose mientras
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd existan. (Estos son los hijos de los que se est&#225; saliendo de
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd forma graceful y que est&#225;n sirviendo sus &#250;ltimas
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd peticiones.) Esto provocar&#225; problemas si intenta reiniciar el
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd servidor -- no ser&#225; posible conectarse a la lista de puertos
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd de escucha. Antes de reiniciar, puede comprobar que la sintaxis de
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd sus ficheros de configuracion es correcta con la opci&#243;n de
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd l&#237;nea de comandos <code>-t</code> (consulte <a
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd href="programs/httpd.html">httpd</a>). No obstante, esto no
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd garantiza que el servidor se reinicie correctamente. Para
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd comprobar que no hay errores en los ficheros de
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd configuraci&#243;n, puede intentar iniciar <code>httpd</code> con
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd un usuario diferente a root. Si no hay errores, intentar&#225;
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd abrir sus sockets y logs y fallar&#225; porque el usuario no es
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd root (o porque el <code>httpd</code> que se est&#225; ejecutando
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd en ese momento ya est&#225; conectado a esos puertos). Si falla
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd por cualquier otra raz&#243;n, entonces casi seguro que hay
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd alg&#250;n error en alguno de los ficheros de configuraci&#243;n y
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd debe corregir ese o esos errores antes de hacer un reinicio
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd graceful.</note>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd</section>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<section id="hup"><title>Reiniciar Apache</title>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<dl><dt>Se&#241;al: HUP</dt>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<dd><code>apachectl -k restart</code></dd>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd</dl>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>El env&#237;o de las se&#241;ales <code>HUP</code> o
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <code>restart</code> al proceso padre hace que los procesos hijo
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd terminen como si le envi&#225; ramos la se&#241;al
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <code>TERM</code>, para eliminar el proceso padre. La diferencia
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd est&#225; en que estas se&#241;ales vuelven a leer los archivos de
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd configuraci&#243;n y vuelven a abrir los ficheros log. Se genera
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd un nuevo conjunto de hijos y se contin&#250;a sirviendo
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd peticiones.</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Los usuarios del m&#243;dulo <module>mod_status</module>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd notar&#225;n que las estad&#237;sticas del servidor se ponen a
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd cero cuando se env&#237;a la se&#241;al <code>HUP</code>.</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<note>Si su fichero de configuraci&#243;n contiene errores, cuando
41e3d6b4e67a52c6570c0412c3e5526278cf07d7ndintente reiniciar, el proceso padre del servidor no se
41e3d6b4e67a52c6570c0412c3e5526278cf07d7ndreiniciar&#225;, sino que terminar&#225; con un error. Consulte
41e3d6b4e67a52c6570c0412c3e5526278cf07d7ndm&#225;s arriba c&#243;mo puede solucionar este problema.</note>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd</section>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd<section id="race"><title>Ap&#233;ndice: se&#241;ales y race conditions</title>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Con anterioridad a la versi&#243;n de Apache 1.2b9 hab&#237;a
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd varias <em>race conditions</em> implicadas en las se&#241;ales
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd para parar y reiniciar procesos (una descripci&#243;n sencilla de
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd una race condition es: un problema relacionado con el momento en
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd que suceden las cosas, como si algo sucediera en momento en que no
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd debe, y entonces el resultado esperado no se corresponde con el
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd obtenido). Para aquellas arquitecturas que tienen el conjunto de
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd caracter&#237;sticas "adecuadas", se han eliminado tantas race
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd conditions como ha sido posible. Pero hay que tener en cuenta que
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd todav&#237;a existen race conditions en algunas arquitecturas.</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>En las arquitecturas que usan un <directive
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd module="mpm_common">ScoreBoardFile</directive> en disco, existe la
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd posibilidad de que se corrompan los scoreboards. Esto puede hacer
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd que se produzca el error "bind: Address already in use"
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd (despu&#233;s de usar<code>HUP</code>) o el error "long lost child
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd came home!" (despu&#233;s de usar <code>USR1</code>). En el
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd primer caso se trata de un error irrecuperable, mientras que en el
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd segundo, solo ocurre que el servidor pierde un slot del
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd scoreboard. Por lo tanto, ser&#237;a aconsejable usar reinicios
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd graceful, y solo hacer reinicios normales de forma
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd ocasional. Estos problemas son bastante complicados de solucionar,
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd pero afortunadamente casi ninguna arquitectura necesita un fichero
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd scoreboard. Consulte la documentaci&#243;n de la directiva
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <directive module="mpm_common">ScoreBoardFile</directive> para ver
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd las arquitecturas que la usan.</p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd <p>Todas las arquitecturas tienen una peque&#241;a race condition
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd en cada proceso hijo implicada en la segunda y subsiguientes
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd peticiones en una conexi&#243;n HTTP persistente
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd (KeepAlive). Puede ser que el servidor termine despu&#233;s de
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd leer la l&#237;nea de petici&#243;n pero antes de leer cualquiera
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd de las cebeceras de petici&#243;n. Hay una soluci&#243;n que fue
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd descubierta demasiado tarde para la incluirla en versi&#243;n
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd 1.2. En teoria esto no debe suponer ning&#250;n problema porque el
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd cliente KeepAlive ha de esperar que estas cosas pasen debido a los
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd retardos de red y a los timeouts que a veces dan los
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd servidores. En la practica, parece que no afecta a nada m&#225;s
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd -- en una sesi&#243;n de pruebas, un servidor se reinici&#243;
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd veinte veces por segundo y los clientes pudieron navegar sin
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd problemas por el sitio web sin encontrar problemas ni para
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd descargar una sola imagen ni encontrar un solo enlace roto. </p>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd</section>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd</manualpage>
41e3d6b4e67a52c6570c0412c3e5526278cf07d7nd