ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Nginx не "умирает" корректно



On Monday, April 27, 2009 at 13:54:09, Maxim Dounin wrote:

>> >    restart() {
>> >        configtest || return $?
>> >        stop
>> >        start
>> >    }

...

MD> Кроме того, старый процесс после окончания завершения удалит 
MD> pid-файл, и это скорее всего уже будет pid-файл нового процесса.

похоже что причина глюка в другом: новый nginx не будет запускаться
командой "daemon $nginx -c $NGINX_CONF_FILE" если старый nginx не успел
удалить свой pid-файл. [ функция daemon() из /etc/init.d/functions ]

этот init-скрипт для nginx используется в CentOS, EPEL, Fedora.
хотелось бы сделать какое-то нормальное решение а не ugly hack.

будет ли нормальным решением проблемы добавить sleep 1 в функцию restart

restart() {
    configtest || return $?
    stop
    sleep 1
    start
}

или можно придумать что-то лучшее? например, переименовывать
старый pid-файл как можно скорее после получения сигнала
из nginx.pid в nginx.pid.oldbin и потом не спеша удалять
его в момент полного завершения работы старого мастера?

-- 
Best regards,
 Gena




 




Copyright © Lexa Software, 1996-2009.