On 23.11.2017 17:37, Maxim Dounin wrote:

В systemd's daemon(7) manpage очень подробно расписано
как должны вести себя SysV Daemons при работе с systemd.
И очевидно, что nginx этим требованиям не соответствует.

Original process должен вызывать exit() только после того,
как будет полностью завершена инициализация daemon process,
в частности, после того как daemon process создаст свой pid файл.

Это, что называется, всё очень интересно, но вызывает сомнение
успех подобных рекомендаций.  Особенно с учётом отсутствия
каких-либо внятных примеров того, что же использовать вместо
daemon(3).  О чём я, собственно, и писал выше.

Что использовать вместо daemon(3) документировано в daemon(7):
https://www.freedesktop.org/software/systemd/man/daemon.html

Lennart Poettering очень подробно ответил на этот вопрос в рассылке:
https://lists.freedesktop.org/archives/systemd-devel/2017-November/039830.html

Впрочем, если очень хочется использовать все-таки daemon(3) то можно:
https://lists.freedesktop.org/archives/systemd-devel/2017-November/039834.html

Кстати, Lennart Poettering нашел еще одну ошибку в исходниках nginx:
https://lists.freedesktop.org/archives/systemd-devel/2017-November/039832.html

Впрочем, если верить ответу тут:
https://lists.freedesktop.org/archives/systemd-devel/2017-November/039825.html

то соответствующее сообщение можно смело игнорировать, и systemd
на самом деле умеет дожидаться создания pid-файла.  То есть вопрос
лишь в том, что при этом systemd пишет в лог.

Не надо верить тому, что говорит Michael Chapman - он ошибается.
systemd не ждет появления pid-файла, я это проверял по исходникам.

Лучше верить тому, что говорит Lennart Poettering, автор systemd:
https://lists.freedesktop.org/archives/systemd-devel/2017-November/039833.html

Всегда надо указывать корректный PIDFile= для сервисов Type=forking:
https://lists.freedesktop.org/archives/systemd-devel/2017-November/039831.html

Максим, можно ли сделать так, чтобы nginx соответствовал
тем требованиям которые предъявляет systemd к SysV Daemons?

https://www.freedesktop.org/software/systemd/man/daemon.html

--
Best regards,
 Gena

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить