Linux पर उपयोगकर्ता सेवाएँ कैसे बनाएँ और प्रबंधित करें

Linux Para Upayogakarta Seva Em Kaise Bana Em Aura Prabandhita Karem



लिनक्स का एक सामान्य उपयोगकर्ता एक कस्टम सिस्टमडी सेवा बना सकता है। जबकि systemd सेवाओं को बड़े पैमाने पर systemctl कमांड का उपयोग करके सिस्टम प्रशासकों द्वारा प्रबंधित किया जाता है। उसी कमांड का उपयोग उपयोगकर्ता-विशिष्ट सेवाओं को प्रबंधित करने के लिए भी किया जा सकता है; आपको बस एक की जरूरत है -उपयोगकर्ता झंडा।

इस गाइड में, मैं बताऊंगा कि लिनक्स पर उपयोगकर्ता-विशिष्ट सेवा कैसे बनाई जाए और systemctl का उपयोग करके इसे कैसे प्रबंधित किया जाए।

सामान्य उपयोगकर्ता सेवा होने का कारण

सामान्य उपयोगकर्ता सेवा सिस्टम सेवा से भिन्न होती है। सामान्य उपयोगकर्ता सेवा लॉग-इन उपयोगकर्ता-केंद्रित है। यह सेवा केवल उस उपयोगकर्ता के सत्र में काम करेगी जिसने इसे बनाया है।







एक सामान्य उपयोगकर्ता सेवा कैसे बनाएं

लिनक्स पर उपयोगकर्ता-विशिष्ट सेवाओं को रखा गया है ~/.config/systemd/user निर्देशिका। यदि यह निर्देशिका मौजूद नहीं है तो इसे बनाया जा सकता है।

mkdir -पी ~ / .config / systemd / उपयोगकर्ता

-पी यदि आवश्यक हो तो मूल निर्देशिका बनाने के लिए ध्वज का उपयोग किया जाता है। ~ स्थानीय उपयोगकर्ता की होम निर्देशिका को इंगित करता है और इसके बराबर है /होम/उपयोगकर्ता जबकि कॉन्फिग फ़ाइल से पहले का बिंदु इसे छिपा देता है। आइए एक साधारण बैश स्क्रिप्ट फ़ाइल बनाएं जो हर 30 मिनट में एक टेक्स्ट में मेमोरी उपयोग को लिखेगी। के नाम से स्क्रिप्ट बना रहा हूं स्क्रिप्ट.श .

#! /बिन/बैश

जबकि सत्य

करना

मुक्त -एम >> / घर / उपयोगकर्ता / myfile.txt

नींद 1800

हो गया

यह स्क्रिप्ट कहीं भी बनाई जा सकती है, लेकिन सुनिश्चित करें कि स्क्रिप्ट के अंदर निर्दिष्ट पथ एक पूर्ण पथ है।

अब, आइए एक ऐसी सेवा बनाएं जो उपरोक्त स्क्रिप्ट को पृष्ठभूमि में निष्पादित करेगी। कोई भी टेक्स्ट एडिटर लॉन्च करें, जैसे नैनो या विम, और उसमें नीचे दी गई पंक्तियाँ पेस्ट करें।

[ इकाई ]

विवरण =मेरी सेवा

[ सेवा ]

प्रकार =सरल

ExecStart = / बिन / दे घुमा के / घर / उपयोगकर्ता / स्क्रिप्ट.श

पुनः आरंभ करें =असफलता पर

[ स्थापित करना ]

वांटेडबाय =डिफ़ॉल्ट.लक्ष्य

[इकाई] अनुभाग में, विवरण निर्देश में केवल सेवा का नाम शामिल है। ध्यान दें कि यह 80 अक्षरों से अधिक नहीं होना चाहिए।

[सेवा] अनुभाग में तीन महत्वपूर्ण निर्देश शामिल हैं। सबसे पहले, प्रकार ; जो है सरल , तब ExecStart जिसमें हमारी कस्टम स्क्रिप्ट का निष्पादन योग्य है। विफलता होने पर ही सेवा पुनः आरंभ होगी।

[इंस्टॉल] अनुभाग में शामिल है वांटेडबाय निर्देश जो है default.target , जिसका अर्थ है कि सेवा सिस्टम स्थिति में तब सक्षम हो जाएगी जब यह डिफ़ॉल्ट रन स्तर पर पहुंच जाएगी, जो सामान्य रूप से मल्टी-यूजर.लक्ष्य या ग्राफिकल.लक्ष्य है।

अब, फ़ाइल को इसमें सेव करें ~/.config/systemd/user किसी भी नाम से निर्देशिका; मैं इसका नामकरण कर रहा हूं मेरीसेवा.सेवा .

सामान्य उपयोगकर्ता सेवा कैसे प्रबंधित करें

सामान्य उपयोगकर्ता सेवा को प्रबंधित करने के लिए, systemctl कमांड का उपयोग किया जाता है -उपयोगकर्ता झंडा। -उपयोगकर्ता ध्वज दर्शाता है कि उपयोगकर्ता सिस्टम के बजाय सेवा प्रबंधक से संपर्क कर रहा है।

उपयोगकर्ता-विशिष्ट सेवा फ़ाइल बनाने के बाद, पहला महत्वपूर्ण कदम सिस्टमड कॉन्फ़िगरेशन फ़ाइलों को फिर से लोड करना है।

systemctl --उपयोगकर्ता डेमन-पुनः लोड करें

इससे परिवर्तन लागू होंगे.

यह जानने के लिए कि सेवा चल रही है या नहीं, systemctl का उपयोग करें -उपयोगकर्ता झंडा और विकल्प.

systemctl --उपयोगकर्ता स्थिति [ सेवा का नाम ]

सामान्य उपयोगकर्ता सेवा को प्रबंधित करने के लिए अन्य आदेश नीचे उल्लिखित हैं:

systemctl --उपयोगकर्ता शुरू [ सेवा का नाम ]

systemctl --उपयोगकर्ता सक्षम [ सेवा का नाम ]

systemctl --उपयोगकर्ता रुकना [ सेवा का नाम ]

systemctl --उपयोगकर्ता अक्षम करना [ सेवा का नाम ]

systemctl --उपयोगकर्ता पुनः आरंभ करें [ सेवा का नाम ]

सिस्टम एडमिन अनुमतियों के साथ एक सामान्य उपयोगकर्ता सेवा कैसे बनाएं

ऐसी कई सेवाएँ हैं जिन्हें उपयोगकर्ता बनाता है, लेकिन उन्हें चलाने के लिए व्यवस्थापक की अनुमति की आवश्यकता होती है। ऐसी सेवाएँ a जोड़कर बनाई जा सकती हैं उपयोगकर्ता [सेवा] अनुभाग के लिए निर्देश।

उपयोगकर्ता निर्देश का उपयोग उस उपयोगकर्ता के नाम का उल्लेख करने के लिए किया जा सकता है जिसकी अनुमति सेवा चलाने के लिए आवश्यक है, जैसे व्यवस्थापक . इसलिए, यदि कोई सामान्य उपयोगकर्ता एक ऐसी सेवा बनाना चाहता है जो व्यवस्थापक अनुमतियों की मांग करती है, तो बस इसे जोड़ना होगा उपयोगकर्ता=व्यवस्थापक [सेवा] अनुभाग में कार्य करेगा। हालाँकि, यह सेवा तब तक सक्रिय रहेगी जब तक एडमिन सक्रिय है। ध्यान दें कि इस सेवा को सीधे व्यवस्थापक द्वारा नियंत्रित नहीं किया जा सकता है।

निष्कर्ष

सामान्य उपयोगकर्ता भी एक सिस्टमडी सेवा बना सकता है, लेकिन इसे इसमें रखना होगा ~/.config/systemd/user निर्देशिका। यह सेवा तब तक चलती है जब तक इसे बनाने वाला उपयोगकर्ता लॉग इन है। इन सेवाओं को systemctl कमांड के माध्यम से भी प्रबंधित किया जाता है लेकिन इसके साथ -उपयोगकर्ता झंडा। जो सिस्टमडी को बताता है कि सेवा को उपयोगकर्ता द्वारा कॉल किया जा रहा है, सिस्टम द्वारा नहीं। इस गाइड में, मैंने एक कस्टम सामान्य उपयोगकर्ता सेवा बनाई और इसे प्रबंधित करने के लिए systemctl कमांड का उल्लेख किया। इसके अलावा, मैंने एक ऐसी सेवा बनाने की विधि पर भी प्रकाश डाला जिसके लिए प्रशासनिक विशेषाधिकारों की आवश्यकता होती है।