Puede averiguar qué systemd reload nginxhará mirando la ExecReload=opción en la [Service]sección en el nginx.servicearchivo de la unidad (ubicado en /usr/lib/systemd/system/nginx.servicemi 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 nginxy 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 reloadfunciona 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 serviceo los init.dscripts 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.
serviceoinit.d, comosudo service nginx reload