डेमॉन को पुनरारंभ करने के लिए, चलाएं
systemctl daemon-reexec
इस में प्रलेखित है मैनपेज :systemctl
Systemd प्रबंधक को पुन: निष्पादित करें। यह प्रबंधक स्थिति को अनुक्रमित करेगा, प्रक्रिया को पुन: लागू करेगा और राज्य को फिर से पुन: व्यवस्थित करेगा। यह कमांड डिबगिंग और पैकेज अपग्रेड को छोड़कर बहुत कम उपयोग की है। कभी-कभी, यह एक भारी वजन के रूप में सहायक हो सकता है daemon-reload
। जबकि डेमॉन को पुन: उपयोग किया जा रहा है, उपयोगकर्ता कॉन्फ़िगरेशन की ओर से सुनने वाले सभी सॉकेट सिस्टम सुलभ रहेंगे।
दुर्भाग्य से needs-restarting
यह निर्धारित नहीं किया जा सकता है कि systemd
वास्तव में पुनरारंभ हो गया है। systemd
execs
खुद को पुनरारंभ करने के लिए, जो प्रक्रिया के प्रारंभ समय को रीसेट नहीं करता है; लेकिन needs-restarting
प्रक्रिया के प्रारंभ समय के साथ निष्पादन योग्य संशोधन समय की तुलना यह निर्धारित करने के लिए कि क्या प्रक्रिया को फिर से शुरू करने की आवश्यकता है (अन्य बातों के अलावा), और परिणामस्वरूप यह हमेशा मानता है कि इसे systemd
फिर से शुरू करने की आवश्यकता है ... यह निर्धारित करने के लिए कि क्या systemd
वास्तव में पुनरारंभ करने की आवश्यकता है, आप इसका आउटपुट चेक कर सकते हैं lsof -p1 | grep deleted
: systemd
एक लाइब्रेरी का उपयोग करता है libsystemd-shared
, जिसे उसी पैकेज में शिप किया जाता है और इस प्रकार डेमॉन के साथ अपग्रेड किया जाता है, इसलिए यदि systemd
आपको पुनः आरंभ करने की आवश्यकता है तो आप इसे लाइब्रेरी के हटाए गए संस्करण का उपयोग करके देखेंगे। यदि lsof
कोई हटाई गई फ़ाइलें नहीं दिखाता है, systemd
तो उसे पुनः आरंभ करने की आवश्यकता नहीं है। (करने के लिए धन्यवादसंकेत के लिए जेफ Schaller !
daemon-reexec
भी काम करने वाला हैsystemd
।