systemd: PID file /var/run/nginx.pid not readable (yet?) after start.

Maxim Dounin mdounin на mdounin.ru
Пт Ноя 24 13:33:39 UTC 2017


Hello!

On Fri, Nov 24, 2017 at 01:30:41PM +0200, Gena Makhomed wrote:

> On 24.11.2017 6:12, Maxim Dounin wrote:
> 
> >>> Но сама идея, что все должны сесть и заняться выпиливанием
> >>> стандартного паттерна, который работал десятки лет, и делать
> >>> вместо это что-то своё с синхронизацией - не взлетит.
> 
> >> Эта идея уже взлетела. Если демон состоит из одного процесса
> >> - systemd может однозначно узнать его pid, проблемы могут возникать
> >> только с теми демонами, которые состоят из нескольких процессов.
> >> Из известных мне сервисов состоящих из более чем одного процесса:
> 
> >> * postfix - сделали синхронизацию и проблем с systemd больше нет.
> >> * httpd - перевели на Type=notify и проблем с systemd больше нет.
> >> * php-fpm - перевели на Type=notify и проблем с systemd больше нет.
> >> * nginx - только с этим сервисом наблюдаются проблемы под systemd.
> 
> > Давайте, всё-таки, опеределимся: мы за всё хорошее против всего
> > плохого (== чтобы демоны писали pid-файлы до выхода запущенного
> > процесса, потому что по другому - плохо), или вопрос исключительно
> > в том, чтобы systemd не ругался в логи?
> 
> Так ведь systemd и ругается в логи потому что по другому - плохо.
> Например, команда "/etc/init.d/nginx start ; /etc/init.d/nginx stop"
> будет глючить на системах, где nginx запускается в виде SysV сервиса.

То есть боремся за всё хорошее против всего плохого, правильно я 
понял ответ?

Ну вот тогда, как я уже неоднократно говорил - выбранная методика 
борьбы - не работает и не будет работать.  И поведение nginx'а тут 
совершенно нерелевантно.

Отдельно отмечу, что смысла в этой борьбе - приблизительно столько 
же, сколько смысла в команде "/etc/init.d/nginx start ; 
/etc/init.d/nginx stop".

[...]

-- 
Maxim Dounin
http://mdounin.ru/


Подробная информация о списке рассылки nginx-ru