Anda dapat mengetahui apa yang systemd reload nginxakan dilakukan dengan melihat ExecReload=opsi di [Service]bagian dalam nginx.servicefile unit (terletak di /usr/lib/systemd/system/nginx.servicesistem saya):
$ systemctl cat nginx | grep ExecReload=
Atau dengan menjalankan:
$ systemctl show nginx.service --property=ExecReload
Di sistem saya, saya mendapatkan:
ExecReload=/usr/bin/kill -HUP $MAINPID
Dari 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
Dengan demikian systemctl reload nginxdan nginx -s reloadakan, hampir , melakukan hal yang sama.
Perbedaannya adalah:
systemctl reload nginx akan menjalankan perintah di lingkungan yang bersih (dan bukan lingkungan pengguna saat ini);
systemctl reloadberfungsi untuk layanan apa pun yang memungkinkannya (yang telah dikonfigurasi dalam file unit). Tidak perlu mengingat perintah khusus layanan. Ini bahkan lebih menarik jika Anda memiliki beberapa contoh layanan.
Menggunakan serviceatau init.dskrip adalah cara lama / usang dalam melakukan hal yang sama. Meskipun mereka mungkin bekerja, mereka tidak didukung atau direkomendasikan lagi pada sistem berbasis sistem.
serviceatauinit.d, sepertisudo service nginx reload