Переоткрытие лог-файлов (баг)
Igor Sysoev
is at rambler-co.ru
Sat May 17 11:29:14 MSD 2008
On Sat, May 17, 2008 at 06:16:46PM +1100, Konstantin G. wrote:
> Igor Sysoev пишет:
> > On Sat, May 17, 2008 at 03:44:51PM +1100, Konstantin G. wrote:
> >
> >> И ещё один баг заметил:
> >>
> >> У меня два рабочих процесса. После посылки главному процессу сигнала
> >> USR1 иногда бывает так, что один из процессов продолжает писать логи в
> >> старый файл.
> >> Подозреваю, что этот процесс во время принятия сигнала USR1 обрабатывал
> >> запрос.
> >> __
> >> version: nginx/0.5.35
> >> OS - линукс.
> >
> > Что в старом error_log в районе посылки сигнала ?
> > Лог должен вести на уровне notice. Должно быть что-то вроде:
> >
> > 2008/05/17 00:00:00 [notice] 42780#0: signal 30 (SIGUSR1) received, reopening logs
> > 2008/05/17 00:00:00 [notice] 42780#0: reopening logs
> > 2008/05/17 00:00:00 [notice] 42783#0: reopening logs
> > 2008/05/17 00:00:00 [notice] 42782#0: reopening logs
>
> Хм, вообще в логах никаких нотисов нет.
>
> ./nginx -V
> nginx version: nginx/0.5.35
> built by gcc 3.2 20020903 (Red Hat Linux 8.0 3.2-7)
> configure arguments: --prefix=/opt/nginx --user=arsvest --group=arsvest
> --with-http_stub_status_module --without-http_charset_module
> --without-http_ssi_module --without-http_autoindex_module
Нужно поставить
error_log /path/to/log notice;
> Попробовал передать сигнал непосредственно рабочим процессам:
> kill -USR1 26814 26815
>
> в error_log появилось следующее:
> 2008/05/17 18:09:55 [info] 26814#0: sigtimedwait() failed (4:
> Interrupted system call)
> 2008/05/17 18:09:55 [info] 26815#0: sigtimedwait() failed (4:
> Interrupted system call)
>
> При посылке этого сигнала главному процессу в логах абсолютно ничего не
> появляется.
> На всякий случай: ядро - 2.4.24
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list