इस गाइड में, हम बताते हैं कि सेवाओं को सूचीबद्ध करने और उनकी स्थिति जांचने के लिए systemctl का उपयोग कैसे करें। हम systemctl के कुछ अन्य उपयोगों को भी कवर करेंगे।
run_init सेवा से आने पर, systemctl ताज़ा हवा की सांस है। मुझे यकीन है कि ऐसे कई कारण हैं जिनसे मैं गलत हूं और मैंने इसके पक्ष और विपक्ष में बहसें सुनी हैं और कुछ बार अपना मन बदला है। दैनिक काम पर उपयोग करने के बाद, मैं अब systemctl कैंप में हूं। कमांड की भाषा अब अधिक स्वाभाविक लगती है। दिन-प्रतिदिन के कार्यात्मक स्तर पर, मुझे यह पसंद है। मैंने परिवर्तन का स्वागत किया है, और जब भी मैं पुराने सिस्टम पर काम करता हूं तो वापस जाने का विरोध करता हूं। आइए systemctl और यह कैसे काम करता है, इस पर जाएं।
Systemctl स्टेटस
systemctl का पहला और सबसे महत्वपूर्ण उपयोग सेवा स्थिति की जांच करना है। यहाँ सिंटैक्स है:
#systemctl command argument #systemctl status service

systemctl status service
वहां आपकी atd सेवा की जानकारी है। कुछ समय पहले शुरू हुई (मुझे रीबूट करना चाहिए…), और सक्रिय। PID वहां है यदि मुझे इसे मारने की आवश्यकता है, हालांकि हम systemctl के साथ भी कर सकते हैं। तो क्या जांचें? एक त्वरित और आसान कदम, विफल सेवाओं की जांच करें।
#systemctl --failed --type=service

systemctl –failed –type=service
इनकी जांच करें और निर्धारित करें कि क्या यह सामान्य है। आप सामान्य कैसे जानते हैं? चल रही सेवाओं की जांच करें:
#systemctl -t service --state=active

systemctl -t service –state=active
जानकारी देखने के बाद, इसे सहेजें।
#systemctl -t service --state=active >date$systemhealth.log
बाद के दिनों में, डिफ चेक करें।
#systemctl -t service --state=active > date$systemhealth.log
#diff day1systemhealth.log day2systemhealth.log

diff day1systemhealth.log day2systemhealth.log
वहां आप चलते हैं, अब आप जानते हैं कि कुछ ऑनलाइन होना चाहिए था। यदि आप एक नए सिस्टम से परिचित हो रहे हैं, तो जांचने के लिए सेवाओं का एक अच्छा सेट यहां है।
LAMP
आइए उस बुनियादी स्टैक को देखें जिसे हम में से अधिकांश शुरुआती दिनों में डिप्लॉय करना सीखते हैं। ओह, और यदि आप उस सेवा का नाम नहीं जानते जिसे आप ढूंढ रहे हैं। कोई चिंता नहीं। systemctl के लिए टैब पूरा करना सक्षम है। बस apache टाइप करें, टैब दो बार दबाएं, और चुनें कि आपको क्या चाहिए।

systemctl status apache
#systemctl status apache2.service mongo mysql

systemctl status apache2.service mongo mysql
अधिक विस्तार में जाना चाहते हैं?
#systemctl list-dependencies apache2.service

systemctl list-dependencies apache2.service
यह सेवा के सभी निर्भरताओं को दिखाता है। और प्रत्येक की स्थिति को एक दोस्ताना रंगीन डॉट के साथ देता है। अच्छा के लिए हरा, विफल के लिए लाल।
नेटवर्क
अब, आइए सुनिश्चित करें कि नेटवर्क कार्यात्मक है।
#systemctl status networking ufw wpa

systemctl status networking ufw wpa
यदि यह अब तक स्पष्ट नहीं है, तो systemctl की मेरी पसंदीदा विशेषता एक साथ कई सेवाओं को नियंत्रित करना है। और स्वचालित रूप से less में पाइप किया गया।
सेवाओं को नियंत्रित करना
ठीक है, तो अब आपके पास कुछ विफल सेवाएं पहचानी गई हैं। या आपने एक सेवा परिवर्तन लागू किया है। जैसे आपके sshd.config फ़ाइल को अपडेट करना, और इसे रीलोड करने की आवश्यकता है। या क्या आप एक नई सेवा जोड़ रहे हैं, या इसे पूरी तरह से हटा रहे हैं?
यह systemctl के साथ सरल है, और आपके पास दो विकल्प हैं। रीलोड और रीस्टार्ट। रीलोड केवल नई कॉन्फ़िगरेशन फ़ाइल पढ़ता है। रीस्टार्ट किसी भी कनेक्शन को छोड़ देता है और कॉन्फ़िगरेशन फ़ाइल को रीलोड करता है। आपकी आवश्यकता के आधार पर, दोनों के उपयोग के अपने कारण हैं।
रीस्टार्ट और रीलोड
#systemctl restart atd #systemctl status atd

systemctl restart atd
वहां हम चलते हैं, रीस्टार्ट हो गया। नई जानकारी जोड़ी गई। मजबूत लोड बैलेंस सिस्टम के साथ, मैं रीस्टार्ट करना पसंद करता हूं। मुझे पता है कि कनेक्शन रीरूट होंगे और डाउनटाइम न के बराबर होगा। कम से कम, लगभग न के बराबर। और मुझे कुछ सिस्टम या सेवाओं के रीलोड के साथ अच्छी तरह से काम नहीं करने की चिंता नहीं करनी होगी। भले ही, रीस्टार्ट/रीलोड करने से पहले हमेशा उपयोगकर्ताओं और ग्राहकों को सूचित करें।
रोकें, शुरू करें, और मारें
यदि आपको किसी सेवा को रोकने या मारने की आवश्यकता है तो systemctl यह भी कर सकता है।
#systemctl stop atd #systemctl start atd #systemctl kill atd #systemctl start atd
बस, एक रीस्टार्ट को फिर से बनाना।

systemctl status atd
सक्षम और अक्षम करना
बूट पर शुरू होने वाली नई सेवाओं को सक्षम करने की आवश्यकता होती है।
#systemctl enable <service>
वहां हम चलते हैं, आपका सिस्टम अब समझता है कि उसे बूट पर नई सेवा शुरू करने की आवश्यकता है। यदि आप रीबूट छोड़ना चाहते हैं, तो आगे बढ़ें और इसे अभी शुरू करें।
#systemctl disable <service>
और वहां हम चलते हैं। सेवा रोक दी गई। यदि आप इसे हटाना चाहते हैं, तो आपको इसे रोकना होगा और फिर अनइंस्टॉल करना होगा।
निष्कर्ष
बस। इसमें ज्यादा कुछ नहीं है। एकल उद्देश्य के लिए एकल सेवा, आपके सिस्टम को नियंत्रित करना। अधिक शेल कमांड सीखें और अपने सिस्टम को प्रशासित करने का तरीका जानें।