Hello! On Thu, Nov 23, 2017 at 03:49:43PM +0200, Gena Makhomed wrote:
> On 22.11.2017 19:43, Maxim Dounin wrote: > > >> systemd: PID file /var/run/nginx.pid not readable (yet?) after start. > > >> Можно ли как-то исправить поведение nginx, > >> чтобы systemd не флудил в логи сообщениями об ошибках? > > > С точки зрения абстрактного счастья для всех даром - наверное, > > поведение systemd логично, и на момент выхода запущенного процесса > > pid-файл должен уже существовать. > > > > С точки зрения практики - паттерн "daemon(); write_pidfile();" > > используется чуть менее, чем везде, вплоть до соответствующих > > библиотечных функций. Так что инициатива выглядит, скажем так, > > сомнительной. > > Спросил об этом в списке рассылки systemd-devel: > https://lists.freedesktop.org/archives/systemd-devel/2017-November/039812.html > > Идея переписать systemd там энтузиазма не вызвала: > https://lists.freedesktop.org/archives/systemd-devel/2017-November/039820.html > > Более того, мне прислали ссылку на официальную документацию systemd: > > Many other deficiencies with the BSD daemon() function > are documented in systemd's daemon(7) manpage. > > В systemd's daemon(7) manpage очень подробно расписано > как должны вести себя SysV Daemons при работе с systemd. > И очевидно, что nginx этим требованиям не соответствует. > > Original process должен вызывать exit() только после того, > как будет полностью завершена инициализация daemon process, > в частности, после того как daemon process создаст свой pid файл. Это, что называется, всё очень интересно, но вызывает сомнение успех подобных рекомендаций. Особенно с учётом отсутствия каких-либо внятных примеров того, что же использовать вместо daemon(3). О чём я, собственно, и писал выше. Впрочем, если верить ответу тут: https://lists.freedesktop.org/archives/systemd-devel/2017-November/039825.html то соответствующее сообщение можно смело игнорировать, и systemd на самом деле умеет дожидаться создания pid-файла. То есть вопрос лишь в том, что при этом systemd пишет в лог. -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru