Bạn có thể tìm hiểu những gì systemd reload nginx
sẽ làm bằng cách xem ExecReload=
tùy chọn trong [Service]
phần trong nginx.service
tệp đơn vị (nằm ở /usr/lib/systemd/system/nginx.service
trên hệ thống của tôi):
$ systemctl cat nginx | grep ExecReload=
Hoặc bằng cách chạy:
$ systemctl show nginx.service --property=ExecReload
Trên hệ thống của tôi, tôi nhận được:
ExecReload=/usr/bin/kill -HUP $MAINPID
Từ 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
Như vậy systemctl reload nginx
và nginx -s reload
sẽ, gần như , làm điều tương tự.
Sự khác biệt là:
systemctl reload nginx
sẽ thực thi lệnh trong môi trường sạch (và không phải môi trường người dùng hiện tại);
systemctl reload
hoạt động cho bất kỳ dịch vụ nào cho phép nó (có cấu hình trong tệp đơn vị). Không cần phải nhớ các lệnh cụ thể của dịch vụ. Điều này thậm chí còn thú vị hơn nếu bạn có một vài trường hợp của một dịch vụ.
Sử dụng service
hoặc init.d
các tập lệnh là những cách kế thừa / không dùng nữa để làm điều tương tự. Mặc dù chúng có thể hoạt động, nhưng chúng không được hỗ trợ cũng như không được đề xuất nữa trên hệ thống dựa trên systemd.
service
hoặcinit.d
, nhưsudo service nginx reload