Puede averiguar qué systemd reload nginx
hará mirando la ExecReload=
opción en la [Service]
sección en el nginx.service
archivo de la unidad (ubicado en /usr/lib/systemd/system/nginx.service
mi sistema):
$ systemctl cat nginx | grep ExecReload=
O ejecutando:
$ systemctl show nginx.service --property=ExecReload
En mi sistema, obtengo:
ExecReload=/usr/bin/kill -HUP $MAINPID
De nginx(8)
:
-s signal Send a signal to the master process. The argument signal
can be one of: stop, quit, reopen, reload. The following
table shows the corresponding system signals:
stop SIGTERM
quit SIGQUIT
reopen SIGUSR1
reload SIGHUP
Así systemctl reload nginx
y nginx -s reload
, casi , haremos lo mismo.
Las diferencias son:
systemctl reload nginx
ejecutará el comando en un entorno limpio (y no en el entorno del usuario actual);
systemctl reload
funciona para cualquier servicio que lo permita (que lo tiene configurado en el archivo de la unidad). No es necesario recordar los comandos específicos del servicio. Esto es aún más interesante si tiene varias instancias de un servicio.
El uso service
o los init.d
scripts son formas heredadas / obsoletas de hacer lo mismo. Aunque podrían funcionar, ya no se admiten ni se recomiendan en un sistema basado en systemd.
service
oinit.d
, comosudo service nginx reload