सिस्टमसीटीएल से सभी सक्षम सेवाओं को कैसे सूचीबद्ध करें?

मैं सभी को कैसे सूचीबद्ध कर सकता हूं enabled से सेवाएं systemctl?

मैं चल पता systemctl अपने आप में कमांड सभी सेवाओं को सूचीबद्ध करता है, लेकिन मैं केवल प्राप्त करना चाहूंगा enabled लोगों को.

systemctl list-unit-files | grep enabled सभी को सूचीबद्ध करेगा सक्षम लोगों को.

यदि आप चाहते हैं कि वर्तमान में कौन से हैं चल रहा है, आपको चाहिए systemctl | grep running.

जिसे आप ढूंढ रहे हैं उसका उपयोग करें । सक्षम, इसका मतलब यह नहीं है कि यह चल रहा है । और चलने का मतलब यह नहीं है कि यह सक्षम है । वे दो अलग चीजें हैं ।

सक्षम का अर्थ है कि सिस्टम अगले बूट पर सेवा चलाएगा । इसलिए यदि आप किसी सेवा को सक्षम करते हैं, तो आपको अभी भी इसे मैन्युअल रूप से शुरू करना होगा, या रिबूट करना होगा और यह शुरू हो जाएगा ।

रनिंग का मतलब है कि यह वास्तव में अभी चल रहा है, लेकिन अगर यह सक्षम नहीं है, तो रिबूट होने पर यह पुनरारंभ नहीं होगा ।

man systemctl राज्यों:

--state=

तर्क इकाई की अल्पविराम से अलग सूची होनी चाहिए LOAD, SUB, या ACTIVE राज्यों। इकाइयों को सूचीबद्ध करते समय, केवल उन्हें निर्दिष्ट राज्यों में दिखाएं । उपयोग करें --state=failed केवल विफल इकाइयों को दिखाने के लिए ।

स्पष्टीकरण:

LOAD: दर्शाता है कि क्या इकाई परिभाषा ठीक से लोड की गई थी ।
ACTIVE: उच्च-स्तरीय इकाई सक्रियण स्थिति, अर्थात का सामान्यीकरण SUB.
SUB: निम्न-स्तरीय इकाई सक्रियण स्थिति, मान इकाई प्रकार पर निर्भर करते हैं ।

हालांकि आप इसका उपयोग केवल दिखाने के लिए भी कर सकते हैं enabled इकाइयों के साथ:

systemctl list-unit-files --state=enabled

यदि एक इकाई है enabled इसका मतलब है कि सिस्टम इसे स्टार्टअप पर शुरू करेगा । हालांकि कुछ सेट करना enabled वास्तव में भी नहीं है start ऐसा करने के लिए आपको मैन्युअल रूप से ऐसा करना होगा, या इसे सेट करने के बाद सिस्टम को रिबूट करना होगा enabled.

सभी को सूचीबद्ध करने के लिए systemd सेवा जो में हैं state=active और sub=running

systemctl list-units --type=service --state=running

सभी को सूचीबद्ध करने के लिए systemd serice में जो कर रहे हैं state=active और उप या तो चल रहा है या बाहर निकल गया है

systemctl list-units --type=service --state=active

इन सहित 'सक्षम' सेवाओं को देखने के लिए जो अभी भी अपस्टार्ट / इनिट रन के तहत हैं:

systemctl list-unit-files --type service --state enabled,generated

वर्तमान में चल रही सभी सेवाओं को देखने के लिए:

systemctl list-units --type service --state running

सभी सक्रिय और असफल सेवाओं का अवलोकन भी:

systemctl list-units --type service --state running,failed

स्टेसर नामक एक अच्छा जीयूआई एप्लिकेशन है जहां आप सभी सेवाओं का प्रबंधन कर सकते हैं ।

enter image description here

इसकी जांच Github लिंक Stacer Github
यह भी जांचें वेब अधिक जानकारी के लिए

वर्तमान उत्तरों के अलावा, मैं केवल सेवाओं के नाम प्राप्त करने के लिए निम्नलिखित का उपयोग करता हूं:

systemctl list-units --type=service --state=active,running | awk '/.*\.service/ {print $1}'

सारणीबद्ध प्रारूप के बजाय, यह केवल उन सेवाओं को किसी अन्य प्रोग्राम में पाइप करना आसान बनाता है

@ जनरल एक सेवा को सक्षम करना इसे शुरू करने से काफी अलग है । देखें आदमी systemctl.

आकर्षक। सबसे कम रेटेड उत्तर सबसे " सही " उत्तर है, भले ही यह स्पष्ट रूप से सबसे अच्छा उत्तर नहीं है । यह उत्कृष्ट प्रश्न (और इसके उत्तर) एक दिलचस्प उदाहरण है कि सिस्टमड यूनिक्स एंड कंपनी के लंबे समय से (और शानदार) डिजाइन सिद्धांतों का उल्लंघन कैसे करता है । @ फेलिपल्वारेज़ शिकायत करता है कि सबसे स्वीकृत उत्तर मानता है कि सिस्टमड यूनिक्स डिज़ाइन फिलोसोपी का अनुसरण करता है, लेकिन सिस्टमड/सिस्टमक्टल वही कर सकता है जो वह चाहता है (अधिकांश अनुभवी उपयोगकर्ता केवल उस पूर्ण ब्लोट पर विचार करेंगे) । मैं और अधिक स्पष्ट रूप से देखना शुरू करता हूं कि लिनस टॉर्वाल्ड्स सिस्टमड के इतने गंभीर रूप से महत्वपूर्ण क्यों हैं ।

सक्षम होने से आपका क्या मतलब है? आप सेवाओं है कि चल रहे हैं मतलब है?