सेवा फ़ाइलें हैं ।सेवा एक्सटेंशन और इसमें वे निर्देश शामिल हैं जिनकी आवश्यकता है systemd किसी सेवा का प्रबंधन करने के लिए.
systemd init सिस्टम का उपयोग करके सिस्टम आरंभीकरण का प्रबंधन करता है इकाई . इकाई एक वस्तु है जो कोई कार्य या कार्रवाई करती है, जैसे किसी सेवा का प्रबंधन, जिसमें इसे नियंत्रित करना और निगरानी करना शामिल है। ये इकाइयाँ मूलतः फ़ाइलें हैं जिन्हें सेवा फ़ाइलें कहा जाता है जिनमें इकाई निर्भरताएँ और आदेश शामिल होते हैं। ये फ़ाइलें पृष्ठभूमि प्रक्रियाओं को कुशलतापूर्वक नियंत्रित करने और संसाधनों के प्रबंधन के लिए महत्वपूर्ण हैं।
गाइड में, मैं सिस्टमडी सेवा फ़ाइल, इसकी संरचना और सेवा को नियंत्रित करने वाले मुख्य निर्देशों की खोज करूंगा।
सिस्टमडी के साथ काम करते समय, शर्तें systemd सेवा फ़ाइल और सिस्टमडी यूनिट फ़ाइल अक्सर एक दूसरे के स्थान पर उपयोग किया जाता है क्योंकि तकनीकी रूप से वे एक ही चीज़ को संदर्भित करते हैं।
Systemd सर्विस फ़ाइल क्या है?
लिनक्स पर, सिस्टमडी उन सेवा फ़ाइलों का उपयोग करके सेवाओं का प्रबंधन करता है जिनमें कॉन्फ़िगरेशन निर्देश होते हैं ताकि सिस्टमडी समझ सके और निष्पादित कर सके।
इकाइयों को सूचीबद्ध करने के लिए, systemctl का उपयोग करें -सूची-इकाइयाँ आज्ञा।
systemctl --सूची-इकाइयाँ
किसी भी सेवा की सेवा फ़ाइल को पढ़ने के लिए, का उपयोग करें बिल्ली फ़ाइल पथ के साथ आदेश.
बिल्ली [ / सेवा-फ़ाइल-पथ ]उदाहरण के लिए, की सेवा फ़ाइल देखने के लिए ssh.सेवा दिए गए कमांड का उपयोग करें.
बिल्ली / उदारीकरण / systemd / प्रणाली / ssh.सेवा
सिस्टमड सर्विस फ़ाइल का एनाटॉमी
आम तौर पर, सिस्टमड सर्विस यूनिट फ़ाइलों में तीन खंड होते हैं।
- इकाई
- सेवा
- स्थापित करना
एक सेवा-विशिष्ट इकाई फ़ाइल में एक विशिष्ट अनुभाग होगा जिसे कहा जाता है सेवा अनुभाग।
ध्यान दें कि सेवा केवल एक प्रकार की इकाई है। एक इकाई के विभिन्न प्रकार हो सकते हैं जैसे सॉकेट, डिवाइस, माउंट, ऑटोमाउंट, स्वैप, लक्ष्य, टाइमर, स्लाइस और स्कोप। इन अनुभागों को यूनिट और इंस्टाल अनुभागों के बीच में रखा गया है। फ़ाइल एक्सटेंशन को संबंधित इकाई प्रकार से भी बदल दिया जाएगा, उदाहरण के लिए, एक सॉकेट इकाई प्रकार में एक होगा .सॉकेट फाइल एक्सटेंशन।
टिप्पणी: इस गाइड में, मैं प्रशासकों और डेवलपर्स द्वारा इसके व्यापक उपयोग के कारण सेवा इकाई प्रकार पर ध्यान केंद्रित करूंगा।
ये अनुभाग वर्गाकार कोष्ठकों ([]) में संलग्न हैं। प्रत्येक अनुभाग में एक प्रासंगिक निर्देश सेट होता है। सेवा फ़ाइल की एक सामान्य संरचना नीचे दी गई है।
[ इकाई ]निर्देश1 =निर्देश 1
निर्देश2 =निर्देश 2
[ सेवा ]
निर्देश1 =निर्देश 1
निर्देश2 =निर्देश 2
[ स्थापित करना ]
निर्देश1 =निर्देश 1
निर्देश2 =निर्देश 2
अनुभागों का क्रम बदला जा सकता है; हालाँकि, उपर्युक्त आदेश का आम तौर पर पालन किया जाता है।
[इकाई] अनुभाग
इकाई अनुभाग में इकाई और इकाई निर्भरता का विवरण शामिल है। यह अनुभाग, परंपरा के अनुसार, सेवा फ़ाइल के शीर्ष पर रखा गया है। आमतौर पर उपयोग किए जाने वाले निर्देश नीचे सूचीबद्ध हैं:
आदेश | विवरण |
विवरण | इस निर्देश का उपयोग सेवा के नाम का उल्लेख करने के लिए किया जाता है। विवरण की लंबाई 80 अक्षरों से अधिक नहीं होनी चाहिए. |
प्रलेखन | इस निर्देश में सेवा का मैन पेज या यूआरएल शामिल है। |
आवश्यक है | इस निर्देश का उपयोग वर्तमान सेवा पर निर्भरता का उल्लेख करने के लिए किया जाता है। यदि इस निर्भरता सेवा का सक्रियण नहीं किया जाता है, तो वर्तमान सेवा शुरू नहीं की जाएगी। |
चाहता हे | इस निर्देश का उपयोग वर्तमान सेवा पर निर्भरता का उल्लेख करने के लिए किया जाता है। हालाँकि, वर्तमान सेवा को चलाने के लिए इस निर्भरता सेवा को सक्रिय करने की आवश्यकता नहीं है। |
पहले | वर्तमान इकाई सक्रिय होने के बाद, इस निर्देश में उल्लिखित सेवा शुरू की जाएगी। |
बाद | वर्तमान इकाई के सक्रिय होने से पहले, इस निर्देश में उल्लिखित सेवा शुरू कर दी जाएगी। |
को बांधता है | यह निर्देश वर्तमान सेवा को उल्लिखित सेवा से जोड़ता है। यदि लिंक की गई सेवा पुनः प्रारंभ होती है, तो वर्तमान सेवाएँ भी पुनः प्रारंभ हो जाएँगी। |
इन निर्देशों के अलावा, दो और निर्देश हैं; स्थिति और जोर देना. कई सेवाओं को सफलतापूर्वक चलाने के लिए विशिष्ट सिस्टम शर्तों की आवश्यकता होती है, और इन निर्देशों का उपयोग शर्तों का उल्लेख करने के लिए किया जाता है।
[इंस्टॉल करें] अनुभाग
यह अनुभाग अनिवार्य नहीं है और केवल तभी आवश्यक है जब किसी सेवा को बूट पर सक्रियण या निष्क्रिय करने की आवश्यकता होती है। इसके अलावा, इसमें उपनाम सेवा का भी उल्लेख है। इंस्टॉल अनुभाग के लिए आमतौर पर उपयोग किए जाने वाले निर्देश नीचे सूचीबद्ध हैं:
आदेश | विवरण |
वांटेडबाय | यह निर्देश रन-स्तर निर्धारित करता है * सेवा का लक्ष्य. यदि कोई लक्ष्य निर्धारित किया गया है बहु-उपयोगकर्ता.लक्ष्य तो सेवा इस रन-स्तर पर सक्षम हो जाएगी। |
द्वारा अपेक्षित | यह निर्देश वांटेडबाय से मिलता जुलता है, हालाँकि, निर्देश में उल्लिखित निर्भरता के बिना भी, सेवा सक्षम की जाएगी। |
उपनाम | इस निर्देश का उपयोग किसी अन्य नाम से सेवा को सक्षम करने के लिए किया जाता है। सेवा सक्षम होने पर इस नाम से एक सिम्लिंक बनाया जाता है। |
अधिकतर, बहु-उपयोगकर्ता.लक्ष्य के रूप में प्रयोग किया जाता है वांटेडबाय पैरामीटर. लेकिन बहु-उपयोगकर्ता.लक्ष्य क्या है?
बहु-उपयोगकर्ता.लक्ष्य गैर-ग्राफ़िकल एकाधिक-उपयोगकर्ता सत्रों को स्वीकार करने के लिए तैयार सिस्टम स्थिति का प्रतिनिधित्व करता है। यह GUI लॉन्च करने से पहले की स्थिति है।
सिस्टम के विभिन्न रन स्तर हैं, आइए इन रन स्तरों के कार्य के बारे में जानें।
सिस्टमडी में, सेवाओं को रन स्तरों के आधार पर समूहीकृत किया जाता है, जिन्हें कहा जाता है लक्ष्यों को . प्रत्येक रन-लेवल में एक फ़ाइल होती है ।लक्ष्य में विस्तार /etc/systemd/system निर्देशिका। रन स्तर की स्थिति के आधार पर एक सेवा चलेगी.
रन स्तर | लक्ष्यों को | राज्य | फ़ाइलें |
0 | बिजली बंद | बंद करो और बिजली बंद करो | पॉवरऑफ़.लक्ष्य |
1 | बचाव | बचाव कवच शुरू होता है | बचाव.लक्ष्य |
2,3,4 | बहु उपयोगकर्ता | बहु-उपयोगकर्ता गैर-जीयूआई शेल प्रारंभ करता है | बहु-उपयोगकर्ता.लक्ष्य |
5 | चित्रमय | बहु-उपयोगकर्ता GUI शेल स्थापित करता है | ग्राफ़िकल.लक्ष्य |
6 | रिबूट | बंद करें और पुनः प्रारंभ करें | रिबूट.लक्ष्य |
[सेवा] अनुभाग
इस अनुभाग में सेवा के लिए कॉन्फ़िगरेशन सेटिंग्स शामिल हैं। इस अनुभाग का प्राथमिक कॉन्फ़िगरेशन सेवा के प्रारंभ में निष्पादित किए जाने वाले प्रकार और आदेशों को परिभाषित करना है। प्रकार और ExecStart किसी सेवा को स्थापित करने के लिए उपयोग किए जाने वाले मुख्य निर्देश हैं।
सेवा के विभिन्न प्रकार निम्नलिखित तालिका में सूचीबद्ध हैं।
सेवा प्रकार | विवरण |
सरल | यह डिफ़ॉल्ट प्रकार है जब प्रकार या बसनाम का उल्लेख नहीं किया गया है और केवल ExecStart का उल्लेख किया गया है। सिस्टमड पहले मुख्य प्रक्रिया और फिर अनुवर्ती इकाइयों को निष्पादित करता है। |
फोर्किंग | इस प्रकार का उपयोग मूल सेवा बंद होने पर भी सेवा को चालू रखने के लिए किया जाता है। यह मूल प्रक्रिया के बंद होने के बाद एक चाइल्ड प्रक्रिया को फोर्क करता है। |
एक शॉट | सिस्टमड पहले मुख्य प्रक्रिया को निष्पादित करता है और जब मुख्य प्रक्रिया बाहर निकलती है तो अनुवर्ती इकाइयां शुरू हो जाएंगी। |
dbus | Dbus वाली सेवा का उपयोग बस में किसी अन्य प्रक्रिया के साथ संचार करने के लिए किया जाता है। यदि बस का नाम उल्लिखित है, तो बस का नाम प्राप्त होने के बाद प्रक्रिया सक्रिय हो जाएगी। |
सूचित करें | प्रक्रिया प्रारंभ होने पर सेवा सूचित करेगी. अधिसूचना जारी होने के बाद सिस्टमडी अनुवर्ती इकाइयों के लिए आगे बढ़ेगा। |
निठल्ला | यह तब तक सेवा बनाए रखता है जब तक सभी सक्रिय नौकरियां भेज नहीं दी जातीं; कंसोल आउटपुट को बेहतर बनाने के लिए मुख्य रूप से उपयोगी है। |
सेवा अनुभाग में आमतौर पर उपयोग किए जाने वाले निर्देश नीचे दिए गए हैं:
आदेश | विवरण |
ExecStart | यह प्रक्रिया शुरू करने के लिए निष्पादित किए जाने वाले कमांड का पूरा पथ रखता है। |
ExecStartPre | यह उन आदेशों को रखता है जिन्हें मुख्य प्रक्रिया शुरू होने से पहले निष्पादित किया जाना चाहिए। |
ExecStartPost | यह उन आदेशों को रखता है जिन्हें मुख्य प्रक्रिया शुरू होने के बाद निष्पादित किया जाना चाहिए। |
ExecReload | यह सेवा कॉन्फ़िगरेशन को पुनः लोड करने का आदेश रखता है। |
पुनः आरंभ करें | ऑन-फेलियर, ऑन-सक्सेस, ऑन-असामान्य, ऑन-एबॉर्ट और ऑन-वॉचडॉग जैसी परिस्थितियों में सेवा को स्वचालित रूप से पुनरारंभ करना। |
रीस्टार्टसेक | सेकंड की संख्या बनाए रखने के लिए जिसके बाद सेवा स्वचालित रूप से पुनरारंभ हो जाएगी। |
ExecStart सेवा अनुभाग में उपयोग किए जाने वाले महत्वपूर्ण निर्देशों में से एक है। इसमें शामिल है निष्पादन योग्य का पूरा पथ कि सेवा लागू करने पर निष्पादित होगी।
निष्कर्ष
सिस्टमडी सर्विस फ़ाइल एक कॉन्फ़िगरेशन फ़ाइल है जो निर्देशों और आदेशों के साथ संरचित होती है ताकि उन्हें सिस्टमडी द्वारा प्रबंधित किया जा सके। इन फ़ाइलों में निर्देश होते हैं जो बताते हैं कि किसी सेवा को सिस्टमडी द्वारा कैसे प्रबंधित किया जाता है। इस गाइड में, मैंने सिस्टमडी सेवा फ़ाइल, उसके अनुभागों और सेवाओं को प्रबंधित करने वाले निर्देशों तक पहुंचने का तरीका बताया। सेवा फ़ाइल निर्देशों के बारे में अधिक जानने के लिए, कृपया आधिकारिक दस्तावेज़ीकरण मार्गदर्शिका पढ़ें यहाँ .