सवाल संशोधित होने पर systemd इकाई फ़ाइलों को फिर से लोड किया जाना है?


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

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


94
2018-06-23 03:17


मूल




जवाब:


आपके यूनिट फ़ाइल में बदलाव करने के बाद, आपको चलाना चाहिए systemctl daemon-reload, गंभीर परिणाम यहाँ

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

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

systemctl restart your-service-name

(डिमन-रीलोड सेवाओं को पुनः लोड / पुनरारंभ नहीं करेगा, केवल नई कॉन्फ़िगरेशन के बारे में सिस्टम को अवगत कराएगा)


114
2018-06-23 11:38



मैंने पाया कि मुझे दौड़ने की भी आवश्यकता है systemctl restart वास्तव में सेवा को फिर से शुरू करने के लिए ... - hwjp
शायद ज़रुरत पड़े, daemon-reload सार्वभौमिक नहीं है, चलाने के लिए मिल गया है systemctl --user daemon-reload उपयोगकर्ता सेवाओं के लिए। - Olegs Jeremejevs


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


1
2017-08-19 13:01



यह मेरे लिए चाल थी! यह नहीं मिला कि systemctl सेवा फ़ाइल को पुनः लोड क्यों नहीं कर रहा था। - antonagestam