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