comparison xml/ru/docs/control.xml @ 837:6678b1f27514

Improved readability of "Upgrading Executable on the Fly". The old text about what to do if the new executable fails to work properly caused confusion.
author Ruslan Ermilov <ru@nginx.com>
date Mon, 11 Feb 2013 11:44:48 +0400
parents 2d08f96e36cf
children d1b5814e5265
comparison
equal deleted inserted replaced
836:f563967a4f59 837:6678b1f27514
6 <!DOCTYPE article SYSTEM "../../../dtd/article.dtd"> 6 <!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
7 7
8 <article name="Управление nginx" 8 <article name="Управление nginx"
9 link="/ru/docs/control.html" 9 link="/ru/docs/control.html"
10 lang="ru" 10 lang="ru"
11 rev="1"> 11 rev="2">
12 12
13 <section> 13 <section>
14 14
15 <para> 15 <para>
16 Управлять nginx можно с помощью сигналов. Номер главного процесса по умолчанию 16 Управлять nginx можно с помощью сигналов. Номер главного процесса по умолчанию
202 202
203 <para> 203 <para>
204 Нужно заметить, что старый процесс не закрывает свои listen сокеты и при 204 Нужно заметить, что старый процесс не закрывает свои listen сокеты и при
205 необходимости ему можно сказать, чтобы он снова запустил свои рабочие процессы. 205 необходимости ему можно сказать, чтобы он снова запустил свои рабочие процессы.
206 Если работа нового исполняемого файла по каким-то причинам не устраивает, 206 Если работа нового исполняемого файла по каким-то причинам не устраивает,
207 то можно сделать следующее: 207 можно проделать одно из следующих действий:
208 <list type="bullet"> 208 <list type="bullet">
209 209
210 <listitem> 210 <listitem>
211 <para> 211 <para>
212 Послать старому главному процессу сигнал HUP. Старый процесс, не перечитывая 212 Послать старому главному процессу сигнал HUP.
213 конфигурации, запустит новые рабочие процессы. После этого можно 213 Старый главный процесс, не перечитывая конфигурации,
214 плавно завершить новые процессы, послав их главному процессу QUIT. 214 запустит новые рабочие процессы.
215 После этого можно плавно завершить все новые процессы,
216 послав старому главному процессу сигнал QUIT.
215 </para> 217 </para>
216 </listitem> 218 </listitem>
217 219
218 <listitem> 220 <listitem>
219 <para> 221 <para>
220 Послать новому главному процессу сигнал TERM, он пошлёт сообщение о 222 Послать новому главному процессу сигнал TERM.
221 немедленном выходе рабочим процессам и все они практически сразу же завершатся. 223 В ответ на это он пошлёт сообщение о немедленном выходе своим
222 По выходу нового главного процесса старый запустит новые рабочие процессы. 224 рабочим процессам, и все они практически сразу же завершатся.
225 Если новые рабочие процессы по каким-то причинам не завершаются,
226 нужно послать им сигнал KILL.
227 По завершению нового главного процесса старый главный процесс
228 автоматически запустит новые рабочие процессы.
223 </para> 229 </para>
224 </listitem> 230 </listitem>
225 231
226 <listitem>
227 <para>
228 Если же новые процессы не завершаются, то нужно послать им сигнал KILL.
229 По выходу нового главного процесса старый запустит свои рабочие процессы.
230 </para>
231 </listitem>
232
233 </list> 232 </list>
234 233
235 </para> 234 </para>
236 235
237 <para> 236 <para>
238 Если новый главный процесс выходит, то старый процесс убирает 237 Если новый главный процесс выходит, то старый главный процесс убирает
239 суффикс <path>.oldbin</path> из имени файла с номером процесса. 238 суффикс <path>.oldbin</path> из имени файла с номером процесса.
240 </para> 239 </para>
241 240
242 <para> 241 <para>
243 Если же обновление прошло удачно, то старому процессу нужно послать сигнал 242 Если же обновление прошло удачно, то старому процессу нужно послать сигнал
244 QUIT, и у нас остаются только новые процессы: 243 QUIT, и останутся только новые процессы:
245 <programlisting> 244 <programlisting>
246 PID PPID USER %CPU VSZ WCHAN COMMAND 245 PID PPID USER %CPU VSZ WCHAN COMMAND
247 36264 1 root 0.0 1148 pause nginx: master process /usr/local/nginx/sb 246 36264 1 root 0.0 1148 pause nginx: master process /usr/local/nginx/sb
248 36265 36264 nobody 0.0 1364 kqread nginx: worker process (nginx) 247 36265 36264 nobody 0.0 1364 kqread nginx: worker process (nginx)
249 36266 36264 nobody 0.0 1364 kqread nginx: worker process (nginx) 248 36266 36264 nobody 0.0 1364 kqread nginx: worker process (nginx)