refresh binary version on SIGUSR2

Igor Sysoev is at rambler-co.ru
Fri Aug 26 14:48:59 MSD 2005


On Fri, 26 Aug 2005, Andrey Y. Ostanovsky wrote:

> Пересобрал версию nginx из портов, ну и решил проверить, как она будет сама себя обновлять.
> Вобщем, дал ей kill -USR2 `cat /var/run/nginx.pid` - вторая копия
> ругнулась в /var/log/nginx-error.log
>
> 2005/08/26 14:05:46 [notice] 66558#0: using inherited sockets from "6;"
>
> создала процесс-файлы:
>
> # ls -la /var/run/nginx.pid*
> -rw-r--r--  1 root  wheel  6 26 авг 13:49 /var/run/nginx.pid
> -rw-r--r--  1 root  wheel  6 26 авг 14:05 /var/run/nginx.pid.newbin
>
> и висит неубиенная до сих пор. Руками по kill -TERM убивается. Пробовал дважды.
>
> 64001  ??  I      0:00,01 nginx: master process /usr/local/sbin/nginx
> 66558  ??  I      0:00,01 nginx: master process /usr/local/sbin/nginx

Нужно ещё послать сигнал -WINCH, а потом -QUIT:

http://sysoev.ru/nginx/docs/control.html#upgrade

> До этого, причем существенно раньше в error-loge была вот такая ругань (первая попытка обновления):
>
> 2005/08/26 13:28:12 [crit] 45244#0: accept() on 0.0.0.0:80 failed (53: Software caused connection abort)
> 2005/08/26 13:49:05 [notice] 64001#0: using inherited sockets from "6;"
>
> Т.е., разница между [crit] и получением USR2 процессом 64001 более 10 минут.
> С чем связано - не понял. Вроде ничего никуда не падало.

"Software caused connection abort" - это обычная ошибка для сокетов.


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list