1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
4        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5              This file is generated from xml source: DO NOT EDIT
6        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7      -->
8<title>Arr�t et red�marrage - Serveur Apache HTTP</title>
9<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" />
12<script src="/style/scripts/prettify.js" type="text/javascript">
13</script>
14
15<link href="/images/favicon.ico" rel="shortcut icon" /></head>
16<body id="manual-page"><div id="page-header">
17<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossaire</a> | <a href="/sitemap.html">Plan du site</a></p>
18<p class="apache">Serveur Apache HTTP Version 2.2</p>
19<img alt="" src="/images/feather.gif" /></div>
20<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
21<div id="path">
22<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.2</a></div><div id="page-content"><div id="preamble"><h1>Arr�t et red�marrage</h1>
23<div class="toplang">
24<p><span>Langues Disponibles: </span><a href="/de/stopping.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
25<a href="/en/stopping.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
26<a href="/es/stopping.html" hreflang="es" rel="alternate" title="Espa�ol">&nbsp;es&nbsp;</a> |
27<a href="/fr/stopping.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
28<a href="/ja/stopping.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
29<a href="/ko/stopping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
30<a href="/tr/stopping.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
31</div>
32
33    <p>Ce document couvre l'arr�t et le red�marrage d'Apache sur
34    les syst�mes Unix et similaires. Les utilisateurs de Windows NT, 2000
35    and XP doivent consulter
36    <a href="platform/windows.html#winsvc">Ex�cuter Apache en tant que
37    service</a> et les utilisateurs de Windows 9x et ME doivent consulter
38    <a href="platform/windows.html#wincons">Ex�cuter Apache comme une
39    application de type console</a> pour plus d'informations sur le contr�le
40    d'Apache � partir de ces plateformes.</p>
41</div>
42<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#introduction">Introduction</a></li>
43<li><img alt="" src="/images/down.gif" /> <a href="#term">Arr�ter imm�diatement</a></li>
44<li><img alt="" src="/images/down.gif" /> <a href="#graceful">Red�marrage en douceur</a></li>
45<li><img alt="" src="/images/down.gif" /> <a href="#hup">Red�marrer imm�diatement</a></li>
46<li><img alt="" src="/images/down.gif" /> <a href="#gracefulstop">Arr�t en douceur</a></li>
47</ul><h3>Voir aussi</h3><ul class="seealso"><li><code class="program"><a href="/programs/httpd.html">httpd</a></code></li><li><code class="program"><a href="/programs/apachectl.html">apachectl</a></code></li><li><a href="invoking.html">D�marrage</a></li></ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
48<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
49<div class="section">
50<h2><a name="introduction" id="introduction">Introduction</a></h2>
51
52    <p>Afin d'arr�ter ou red�marrer Apache, vous devez envoyer un signal aux
53    processus <code class="program"><a href="/programs/httpd.html">httpd</a></code> en cours d'ex�cution.  Les signaux
54    peuvent �tre envoy�s de deux mani�res.  Tout d'abord, vous pouvez
55    utiliser la commande unix <code>kill</code>
56    pour envoyer directement des signaux aux processus. Vous pouvez remarquer
57    que plusieurs processus <code class="program"><a href="/programs/httpd.html">httpd</a></code> s'ex�cutent sur votre
58    syst�me, mais il vous suffit d'envoyer les signaux au processus parent,
59    dont le PID est enregistr� dans le fichier pr�cis� par la directive
60    <code class="directive"><a href="/mod/mpm_common.html#pidfile">PidFile</a></code>. C'est � dire que vous
61    n'aurez jamais besoin d'envoyer des signaux � aucun de ces processus,
62    sauf au processus parent. Trois types de signaux peuvent �tre envoy�s
63    au processus parent :
64    <code><a href="#term">TERM</a></code>,
65    <code><a href="#graceful">USR1</a></code>,
66    <code><a href="#hup">HUP</a></code>, et
67    <code><a href="#gracefulstop">WINCH</a></code>, qui
68    sera d�crit plus loin.</p>
69
70    <p>Pour envoyer un signal au processus parent, vous devez entrer une commande
71    du style :</p>
72
73<div class="example"><p><code>kill -TERM `cat /usr/local/apache2/logs/httpd.pid`</code></p></div>
74
75    <p>La seconde m�thode permettant d'envoyer des signaux aux processus
76    <code class="program"><a href="/programs/httpd.html">httpd</a></code>
77    consiste � utiliser les options de ligne de commande <code>-k</code> :
78    <code>stop</code>,
79    <code>restart</code>, <code>graceful</code> et <code>graceful-stop</code>,
80    comme d�crit ci-dessous.  Ce sont des arguments du binaire
81    <code class="program"><a href="/programs/httpd.html">httpd</a></code>, mais il est recommand� de les utiliser
82    avec le script de contr�le <code class="program"><a href="/programs/apachectl.html">apachectl</a></code>, qui se
83    chargera de les passer � <code class="program"><a href="/programs/httpd.html">httpd</a></code>.</p>
84
85    <p>Apr�s avoir envoy� un signal � <code class="program"><a href="/programs/httpd.html">httpd</a></code>, vous pouvez
86    suivre le cours de son action en entrant :</p>
87
88<div class="example"><p><code>tail -f /usr/local/apache2/logs/error_log</code></p></div>
89
90    <p>Adaptez ces exemples en fonction de la d�finition de vos directives
91    <code class="directive"><a href="/mod/core.html#serverroot">ServerRoot</a></code> et
92    <code class="directive"><a href="/mod/mpm_common.html#pidfile">PidFile</a></code>.</p>
93</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
94<div class="section">
95<h2><a name="term" id="term">Arr�ter imm�diatement</a></h2>
96
97<dl><dt>Signal: TERM</dt>
98<dd><code>apachectl -k stop</code></dd>
99</dl>
100
101    <p>L'envoi du signal <code>TERM</code> ou <code>stop</code> au
102    processus parent induit chez celui-ci une tentative imm�diate
103    de tuer tous ses processus enfants. Cela peut durer plusieurs secondes.
104    Apr�s cela, le processus parent lui-m�me se termine. Toutes les requ�tes
105    en cours sont termin�es, et plus aucune autre n'est trait�e.</p>
106</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
107<div class="section">
108<h2><a name="graceful" id="graceful">Red�marrage en douceur</a></h2>
109
110<dl><dt>Signal: USR1</dt>
111<dd><code>apachectl -k graceful</code></dd>
112</dl>
113
114    <p>L'envoi du signal <code>USR1</code> ou <code>graceful</code> au
115    processus parent lui fait envoyer aux processus enfants
116    <em>l'ordre</em> de se terminer une fois leur requ�te courante
117    trait�e (ou de se terminer imm�diatement s'ils n'ont plus rien � traiter).
118    Le processus parent relit ses fichiers de configuration et
119    r�ouvre ses fichiers de log. Chaque fois qu'un enfant s'�teint, le
120    processus parent le remplace par un processus
121    enfant de la nouvelle <em>g�n�ration</em> de la
122    configuration, et celui-ci commence imm�diatement � traiter les
123    nouvelles requ�tes.</p>
124
125    <p>Ce code est con�u pour toujours respecter la directive de contr�le
126    de processus des modules MPMs, afin que les nombres de processus et de
127    threads
128    disponibles pour traiter les demandes des clients soient maintenus �
129    des valeurs appropri�es tout au long du processus de d�marrage.
130    En outre, il respecte la directive
131    <code class="directive"><a href="/mod/mpm_common.html#startservers">StartServers</a></code> de la mani�re
132    suivante : si apr�s une seconde au moins <code class="directive"><a href="/mod/mpm_common.html#startservers">StartServers</a></code> nouveaux processus
133    enfants n'ont pas �t� cr��s, un nombre suffisant de processus
134    suppl�mentaires est cr�� pour combler le manque. Ainsi le code
135    tente de maintenir � la fois le nombre appropri� de processus enfants
136    en fonction de la charge du serveur, et vos souhaits d�finis par la
137    directive <code class="directive"><a href="/mod/mpm_common.html#startservers">StartServers</a></code>.</p>
138
139    <p>Les utilisateurs du module <code class="module"><a href="/mod/mod_status.html">mod_status</a></code>
140    noteront que les statistiques du serveur ne sont <strong>pas</strong>
141    remises � z�ro quand un signal <code>USR1</code> est envoy�. Le code
142    a �t� con�u � la fois pour minimiser la dur�e durant laquelle le
143    serveur ne peut pas traiter de nouvelles requ�tes (elle sont mises en
144    file d'attente par le syst�me d'exploitation, et ne sont ainsi jamais
145    perdues) et pour respecter vos param�tres de personnalisation.
146    Afin d'accomplir ceci, il doit conserver le
147    <em>tableau</em> utilis� pour garder la trace de tous les processus
148    enfants au cours des diff�rentes g�n�rations.</p>
149
150    <p>Dans son �tat des processus,
151    le module status utilise aussi un <code>G</code> afin d'indiquer
152    quels processus enfants ont encore des traitements de requ�tes en cours
153    d�but�s avant que l'ordre graceful restart ne soit donn�.</p>
154
155    <p>Pour l'instant, il est impossible pour un script de rotation
156    des logs utilisant
157    <code>USR1</code> de savoir de mani�re certaine si tous les processus
158    enfants inscrivant des traces de pr�-red�marrage sont termin�s.
159    Nous vous sugg�rons d'attendre un d�lai suffisant apr�s l'envoi du
160    signal <code>USR1</code>
161    avant de faire quoi que ce soit avec les anciens logs. Par exemple,
162    si la plupart de vos traitements durent moins de 10 minutes pour des
163    utilisateurs empruntant des liaisons � faible bande passante, alors vous
164    devriez attendre 15 minutes avant de faire quoi que ce soit
165    avec les anciens logs.</p>
166
167    <div class="note">
168    Si votre fichier de configuration comporte des erreurs lorsque vous
169    effectuez un red�marrage, votre processus parent ne red�marrera pas
170    et se terminera avec une erreur. Dans le cas d'un red�marrage en douceur
171    (graceful restart), il laissera les processus enfants
172    s'ex�cuter quand il s'arr�tera. (Ce sont les processus enfants qui
173    "s'arr�tent en douceur" en terminant de traiter leur derni�re requ�te.)
174    Ceci provoquera des probl�mes si vous tentez de red�marrer le serveur
175    -- il ne pourra pas s'associer � ses ports d'�coute. Avant d'effectuer un
176    red�marrage, vous pouvez v�rifier la syntaxe des fichiers de
177    configuration � l'aide de l'argument de ligne de commande <code>-t</code>
178    (voir <code class="program"><a href="/programs/httpd.html">httpd</a></code>).
179
180    Ceci ne garantit pas encore que le serveur va red�marrer
181    correctement. Pour v�rifier la s�mantique des fichiers de configuration
182    en plus de leur syntaxe, vous pouvez essayer de d�marrer
183    <code class="program"><a href="/programs/httpd.html">httpd</a></code> sous un utilisateur non root.
184    S'il n'y a pas d'erreurs, il tentera d'ouvrir ses sockets et ses fichiers
185    de log et �chouera car il n'a pas les privil�ges root (ou parce que
186    l'instance actuelle de
187    <code class="program"><a href="/programs/httpd.html">httpd</a></code> est d�j� associ�e � ces ports). S'il �choue
188    pour toute autre raison, il y a probablement une erreur dans le
189    fichier de configuration et celle-ci doit �tre corrig�e avant de lancer
190    le red�marrage en douceur.</div>
191</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
192<div class="section">
193<h2><a name="hup" id="hup">Red�marrer imm�diatement</a></h2>
194
195<dl><dt>Signal: HUP</dt>
196<dd><code>apachectl -k restart</code></dd>
197</dl>
198
199    <p>L'envoi du signal <code>HUP</code> ou <code>restart</code> au
200    processus parent lui fait tuer ses processus enfants comme pour le signal
201    <code>TERM</code>, mais le processus parent ne se termine pas.
202    Il relit ses fichiers de configuration, et r�ouvre ses fichiers de log.
203    Puis il donne naissance � un nouveau jeu de processus enfants
204    et continue de traiter les requ�tes.</p>
205
206    <p>Les utilisateurs du module <code class="module"><a href="/mod/mod_status.html">mod_status</a></code>
207    noteront que les statistiques du serveur sont remises � z�ro quand un
208    signal <code>HUP</code> est envoy�.</p>
209
210<div class="note">Si votre fichier de configuration comporte des erreurs quand vous
211effectuez un red�marrage, votre processus parent ne red�marrera pas,
212il se terminera avec une erreur. Voir plus haut la m�thode � employer
213pour �viter ce probl�me.</div>
214</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
215<div class="section">
216<h2><a name="gracefulstop" id="gracefulstop">Arr�t en douceur</a></h2>
217
218<dl><dt>Signal : WINCH</dt>
219<dd><code>apachectl -k graceful-stop</code></dd>
220</dl>
221
222    <p>L'envoi du signal <code>WINCH</code> ou <code>graceful-stop</code>
223    au processus parent lui fait <em>aviser</em> les processus enfants
224    de s'arr�ter apr�s le traitement de leur requ�te en cours
225    (ou de s'arr�ter imm�diatement s'ils n'ont plus de requ�te � traiter).
226    Le processus parent va alors supprimer son fichier
227    <code class="directive"><a href="/mod/mpm_common.html#pidfile">PidFile</a></code> et cesser l'�coute
228    de tous ses ports. Le processus parent va continuer � s'ex�cuter,
229    et va surveiller les processus enfants
230    qui ont encore des requ�tes � traiter. Lorsque tous les processus enfants
231    ont termin� leurs traitements et se sont arr�t�s ou lorsque le d�lai
232    sp�cifi� par la directive <code class="directive"><a href="/mod/mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></code> a �t� atteint,
233    le processus parent s'arr�tera � son tour.  Si ce d�lai est atteint,
234    tout processus enfant encore en cours d'ex�cution se verra envoyer
235    le signal <code>TERM</code>
236    afin de le forcer � s'arr�ter.</p>
237
238    <p>L'envoi du signal <code>TERM</code> va arr�ter imm�diatement
239    les processus parent et enfants en �tat "graceful". Cependant,
240    comme le fichier <code class="directive"><a href="/mod/mpm_common.html#pidfile">PidFile</a></code>
241    aura �t� supprim�, vous ne pourrez pas utiliser
242    <code>apachectl</code> ou <code>httpd</code> pour envoyer ce signal.</p>
243
244    <div class="note"><p>Le signal <code>graceful-stop</code> vous permet d'ex�cuter
245    simultan�ment plusieurs instances de <code class="program"><a href="/programs/httpd.html">httpd</a></code>
246    avec des configurations identiques. Ceci s'av�re une fonctionnalit�
247    puissante quand vous effectuez des mises � jour "en douceur" d'Apache;
248    cependant, cela peut aussi causer des blocages fatals et des
249    situations de comp�tition (race conditions)
250    avec certaines configurations.</p>
251
252    <p>On a pris soin de s'assurer que les fichiers sur disque
253    comme ceux d�finis par les directives
254    <code class="directive"><a href="/mod/mpm_common.html#lockfile">Lockfile</a></code> et
255    <code class="directive"><a href="/mod/mod_cgid.html#scriptsock">ScriptSock</a></code> contiennent le PID
256    du serveur,et coexistent sans probl�me. Cependant, si une directive de
257    configuration , un module tiers ou une CGI r�sidente utilise un autre
258    verrou ou fichier d'�tat sur disque, il faut prendre soin de s'assurer
259    que chaque instance de <code class="program"><a href="/programs/httpd.html">httpd</a></code> qui s'ex�cute
260    n'�crase pas les fichiers des autres instances.</p>
261
262    <p>Vous devez aussi prendre garde aux autres situations de comp�tition,
263    comme l'utilisation de l'enregistrement des logs avec un transfert de ceux-ci
264    dans le style <code class="program"><a href="/programs/rotation des logs.html">rotation des logs</a></code>. Plusieurs instances
265    du programme de <code class="program"><a href="/programs/rotation des logs.html">rotation des logs</a></code> qui tentent d'effectuer
266    une rotation des m�mes fichiers de log en m�me temps peuvent d�truire
267    mutuellement leurs propres fichiers de log.</p></div>
268</div></div>
269<div class="bottomlang">
270<p><span>Langues Disponibles: </span><a href="/de/stopping.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
271<a href="/en/stopping.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
272<a href="/es/stopping.html" hreflang="es" rel="alternate" title="Espa�ol">&nbsp;es&nbsp;</a> |
273<a href="/fr/stopping.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
274<a href="/ja/stopping.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
275<a href="/ko/stopping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
276<a href="/tr/stopping.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
277</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
278<script type="text/javascript"><!--//--><![CDATA[//><!--
279var comments_shortname = 'httpd';
280var comments_identifier = 'http://httpd.apache.org/docs/2.2/stopping.html';
281(function(w, d) {
282    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
283        d.write('<div id="comments_thread"><\/div>');
284        var s = d.createElement('script');
285        s.type = 'text/javascript';
286        s.async = true;
287        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
288        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
289    }
290    else { 
291        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
292    }
293})(window, document);
294//--><!]]></script></div><div id="footer">
295<p class="apache">Copyright 2013 The Apache Software Foundation.<br />Autoris� sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
296<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossaire</a> | <a href="/sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
297if (typeof(prettyPrint) !== 'undefined') {
298    prettyPrint();
299}
300//--><!]]></script>
301</body></html>