क्या सिस्टम यूनिट फाइलों को संशोधित होने पर फिर से लोड करना पड़ता है?


138

मान लीजिए कि मैं एक mine.serviceफाइल लिखता हूं । तब मैं उपयोग करता हूं systemctl enable mine.service

अगर मैं बाद में संपादित करने का फैसला mine.serviceकरता हूं, तो क्या मुझे बताना होगा systemdकि mine.serviceइसे बदल दिया गया था? अगर ऐसा है, तो मैं वह कैसे करू?

जवाबों:


168

अपनी इकाई फ़ाइल में परिवर्तन करने के बाद, आपको यहाँsystemctl daemon-reload बताए अनुसार चलना चाहिए ।

डेमॉन-रीलोड
रीलोड सिस्टमड मैनेजर कॉन्फ़िगरेशन। यह सभी जनरेटर को फिर से चलाएगा (देखें systemd.generator (7) ), सभी यूनिट फ़ाइलों को पुनः लोड करें, और संपूर्ण निर्भरता ट्री को फिर से बनाएँ। जबकि डेमॉन को पुनः लोड किया जा रहा है, उपयोगकर्ता कॉन्फ़िगरेशन की ओर से सभी सॉकेट्स सिस्टम सुनेगा।

आप अपनी सेवा को अपनी इच्छानुसार पुनः आरंभ (या पुनः लोड) कर सकते हैं

systemctl restart your-service-name

(डेमन-रीलोड स्वयं सेवाओं को पुनः लोड / पुनः आरंभ नहीं करेगा, बस नए विन्यास के बारे में सिस्टमड को जागरूक करता है)


2
मैंने पाया कि मुझे systemctl restartवास्तव में स्वयं को पुनः आरंभ करने के लिए एक को चलाने की आवश्यकता थी ...
hwjp

3
बस मामले में, daemon-reloadसार्वभौमिक नहीं है, systemctl --user daemon-reloadउपयोगकर्ता सेवाओं के लिए चलाने के लिए मिला है ।
ओलेग्स जेरेमजेव्स

एक नोट के रूप में इसे "जनरेटर द्वारा बनाए गए पिछले कॉन्फ़िगरेशन को हटा दें" उन्हें पुन: निर्देशित करने से पहले: freedesktop.org/software/systemd/man/systemd.generator.html
rogerdpack

8

उपरोक्त उत्तर के अतिरिक्त: यदि आपने [Install]निर्देश में कुछ बदल दिया है , तो आपको sudo systemctl reenable YOURUNITFILE.target निर्देशिकाओं में सहानुभूति फिर से बनाने के लिए चलाने की आवश्यकता हो सकती है ।


इसने मेरे लिए चाल चली! यह नहीं मिला कि क्यों systemctl सेवा फ़ाइल को पुनः लोड नहीं कर रहा था।
अनुनागस्तम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.