Am 23.11.2017 um 00:38 schrieb Gena Makhomed:
On 23.11.2017 0:29, Reindl Harald wrote:

or just remove the pid-file stuff from the systemd-unit, systemd don't need it really

pid-file need for service reload and service stop

nonsense

You are talking about GuessMainPID= option?

https://www.freedesktop.org/software/systemd/man/systemd.service.html#GuessMainPID=

no i talk about nearly 6 years systemd expierience in production and that i yet need to see a real world case where systemd don't work in case of missing PID file

You can read from documentation of this directive:
"The guessing algorithm might come to incorrect conclusions if a daemon consists of more than one process."

nginx daemon consists of more than one process,
so directive MainPID= should be defined in unit file.

i know that all, httpd and postfix are typically forking services and are working fine without any PID file since 2011

BTW, nginx has ability to change executable on the fly:
http://nginx.org/en/docs/control.html#upgrade

In any case, you are talking about something like workaround of the bug,
but I am asking in systemd-devel mail list about root cause of this bug,
how to fix this bug, and where bug is located - in nginx or in systemd?

in nginx which obviously creates the pid file too late

please read how systemd works

I read even sources of systemd and nginx.

why do you then pretend the pid-file is needed for *service stop* when systemd monitors every process of the cgroup and other then sysvinit can guarantee that *every* single process which is still alive after send SIGTERM to the MAINPID and don't exit get it's own SIGTERM and finally SIGKILL to leftover processes no matter how they get started (shell_exec from a php srcipt as example) - the CGROUP stuff and how systemd stops services is basic knowledge

But I still can't find *root cause* of this bug:

systemd: Stopping nginx - high performance web server...
systemd: Starting nginx - high performance web server...
systemd: PID file /var/run/nginx.pid not readable (yet?) after start.
systemd: Started nginx - high performance web server

likely the pid-file don't exist at the moment of forking
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to