Anda dapat mengetahui apa yang systemd reload nginx
akan dilakukan dengan melihat ExecReload=
opsi di [Service]
bagian dalam nginx.service
file unit (terletak di /usr/lib/systemd/system/nginx.service
sistem 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 nginx
dan nginx -s reload
akan, hampir , melakukan hal yang sama.
Perbedaannya adalah:
systemctl reload nginx
akan menjalankan perintah di lingkungan yang bersih (dan bukan lingkungan pengguna saat ini);
systemctl reload
berfungsi 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 service
atau init.d
skrip adalah cara lama / usang dalam melakukan hal yang sama. Meskipun mereka mungkin bekerja, mereka tidak didukung atau direkomendasikan lagi pada sistem berbasis sistem.
service
atauinit.d
, sepertisudo service nginx reload