Переоткрытие лог-файлов (баг)

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