आप यूनिट फ़ाइल ( मेरे सिस्टम पर स्थित ) में अनुभाग में विकल्प systemd reload nginxदेखकर पता लगा सकते हैं कि क्या होगा :ExecReload=[Service]nginx.service/usr/lib/systemd/system/nginx.service
$ systemctl cat nginx | grep ExecReload=
या चलाकर:
$ systemctl show nginx.service --property=ExecReload
मेरे सिस्टम पर, मुझे मिलता है:
ExecReload=/usr/bin/kill -HUP $MAINPID
से 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
इस प्रकार systemctl reload nginxऔर nginx -s reload, होगा लगभग , एक ही बात करते हैं।
अंतर हैं:
systemctl reload nginx स्वच्छ वातावरण में कमांड निष्पादित करेगा (और वर्तमान उपयोगकर्ता वातावरण नहीं);
systemctl reloadकिसी भी सेवा के लिए काम करता है जो इसे अनुमति देता है (जो इसे इकाई फ़ाइल में कॉन्फ़िगर किया गया है)। सेवा विशिष्ट आदेशों को याद रखने की आवश्यकता नहीं है। यदि आप किसी सेवा के कई उदाहरण हैं तो यह और भी दिलचस्प है।
स्क्रिप्टिंग serviceया init.dस्क्रिप्ट का उपयोग एक ही काम करने की विरासत / पदावनत तरीके हैं। हालांकि वे काम कर सकते हैं, वे सिस्टम आधारित प्रणाली पर अब समर्थित नहीं हैं और न ही अनुशंसित हैं।
serviceयाinit.d, जैसेsudo service nginx reload