स्टार्टअप पर शुरू होने वाली सेवाओं को सूचीबद्ध करने की कमान?


144

क्या स्टार्टअप पर चलने वाली सेवाओं को सूचीबद्ध करने की आज्ञा है? मुझे लगता है कि इसमें पार्सिंग /etc/init.d/और विभिन्न /etc/rc.*निर्देशिकाएं शामिल होंगी ।

जवाबों:


104

आप केवल सुझाए गए आदेश initctl listके /etc/initबजाय सामग्री को सूचीबद्ध करने के लिए शेल कमांड का उपयोग कर सकते हैं dbus-send


1
क्या यह उबंटू 18.04 में काम करता है? मुझे "initctl: कमांड नहीं मिला" (बाश में)
संजय मनोहर

121

त्वरित उत्तर है: यह आपके initसिस्टम पर निर्भर करता है।

लंबा उत्तर है: उबंटू के वर्तमान संस्करणों के लिए, आपके पास शायद अपस्टार्ट और सिस्टमवी का मिश्रण है । 15.04 "विविड वर्वेट" (और RHEL / CentOS 7 जैसे अन्य लिनक्स डिस्ट्रोस ) के बाद उबंटू के नए संस्करण SystemD का उपयोग करने के लिए आगे बढ़ रहे हैं ।

कल का नवाब

सभी सेवाओं को सूचीबद्ध करने के लिए:

initctl list

सभी अपस्टार्ट सेवाओं को सूचीबद्ध करने और initctl show-configउन पर चलाने के लिए, यह एक-लाइनर सहायक हो सकता है:

initctl list | awk '{ print $1 }' | xargs -n1 initctl show-config

सिस्टम वी

सभी सेवाओं को सूचीबद्ध करने के लिए:

service --status-all

या:

# for init scripts:
ls /etc/init.d/

# for runlevel symlinks:
ls /etc/rc*.d/

systemd

सभी सेवाओं को सूचीबद्ध करने के लिए:

systemctl list-unit-files --type=service

या:

ls /lib/systemd/system/*.service /etc/systemd/system/*.service

9
यह स्वीकृत उत्तर होना चाहिए।
साजा

service --status-allयह नहीं दिखाता कि क्या सेवाएं बूट पर शुरू करने के लिए सक्षम हैं, कम से कम उबंटू 16 पर नहीं। यह दर्शाता है कि सेवाएं वर्तमान में चल रही हैं या नहीं।
वाइल्डकार्ड

1
मुझे दिखाने के sudo service --status-allलिए सभी सेवाओं को प्राप्त करना था । कुछ छिपाए गए थे जब मैं केवल service --status-allएक गैर-रूट खाते पर चलता था।
फुले

@ खुश: उल्लेख करने के लिए धन्यवाद। मैं यह अच्छी तरह से जाना जाता था कि इन आदेशों आमतौर पर रूट (के रूप में चलाए जा रहे हैं मान लिया systemctl, service, initctl...) के रूप में वे आम तौर पर सिस्टम प्रशासन आदेशों माना जाता है।
TrinitronX

13

/etc/init.dऔर /etc/rc.*निर्देशिका 'ने ले लिया है upstart' init उपकरण। यद्यपि इन निर्देशिकाओं में लिपियों को उम्मीद के मुताबिक निष्पादित किया जाएगा, लेकिन इनिट पर चीजों को चलाने की नई विधि को फाइलों द्वारा परिभाषित किया गया है/etc/init/

आप सभी अपस्टार्ट नौकरियों को सूचीबद्ध कर सकते हैं, साथ ही साथ डबस्ट पर अपस्टार्ट को क्वेरी करके:

dbus-send --print-reply --system --dest=com.ubuntu.Upstart \
        /com/ubuntu/Upstart com.ubuntu.Upstart0_6.GetAllJobs

आपके पास ऊपर की ओर 0_6के संस्करण को प्रतिबिंबित करने के लिए आपको बदलना पड़ सकता है। यह कमांड मेरे ल्यूसिड इंस्टॉल पर काम करता है।


3
@ एरिक एच: क्या आपका उत्तर नीचे दिए गए उत्तर के बजाय सही हो सकता है - initctl listइस डब कमांड की तुलना में बहुत अच्छा है। मैं इस उत्तर को संदर्भ के लिए यहाँ छोड़ना चाहूँगा (बजाय इसे पूरी तरह से हटाने के) फिर भी।
जेरेमी केर

12

यदि आप सेवाओं का एक अच्छा चित्रमय प्रतिनिधित्व और समय चाहते हैं तो बूट करने की कोशिश करें:

apt-get install bootchart

11

आईडी का उपयोग initctl show-config <servicename>वास्तव में इस बात का विवरण प्राप्त करने के लिए किया जाता है कि आपकी सेवा बूट के दौरान कब / शुरू होगी।

इस तरह:

$ initctl show-config myservice
myservice
  start on runlevel [2345]
  stop on runlevel [!2345]

या NFS4 आईडीमैप-डेमन के लिए:

$ initctl show-config idmapd
idmapd
  start on (local-filesystems or mounting TYPE=nfs4)
  stop on runlevel [06]

Chkconfig केवल RedHat आधारित सिस्टम imho पर बेहतर है।


1
यह सही जवाब है। मुझे नहीं पता कि सभी गलत और अधूरे जवाब इतने उच्च स्तर के क्यों हैं।
सेरिन

1
यह SysV का उपयोग करने वाले लोगों के लिए काम करता है, मैं इसे एक अच्छा जवाब मानता हूं लेकिन यह अधूरा है।
गेब्रियल नेट्टो

9

12.04 पर हम उपयोग कर सकते हैं:

sudo apt-get install chkconfig
chkconfig --list

लेकिन इसे 12.10 में हटा दिया गया था ।

नमूना उत्पादन:

acpi-support              0:off  1:off  2:on   3:on   4:on   5:on   6:off
acpid                     0:off  1:off  2:off  3:off  4:off  5:off  6:off
apparmor                  0:off  1:off  2:off  3:off  4:off  5:off  6:off  S:on

2
उबंटू में काम नहीं करता है। package.ubuntu.com/…
AB

@AB मुझे बताने के लिए धन्यवाद! आजकल टिप्पणी करने वालों के लिए यह दुर्लभ है: इसमें साहस की आवश्यकता होती है और मुझे सीखने की अनुमति मिलती है। संस्करण के साथ अद्यतन इसमें काम आता है।
सिरो सेंटिल्ली 改造 works works works



0

सिस्टम सेवाओं और लिपियों के अलावा:

/etc/init.d/
/ lib / systemd / system /
/ etc / systemd / प्रणाली /

उदाहरण के लिए, शायद ऑटोस्टार्ट एप्लिकेशन भी हैं:

find / -name "*autostart*"

ls -1 "/etc/xdg/autostart" "/home/$USER/.config/autostart" "/usr/share/gdm/autostart"  "/usr/share/gnome/autostart"

-2

Gawk का उपयोग करना:

ls -l /etc/rc*.d/* | gawk 'match($0, /rc([0-6S]).d.*\/(.*)$/, a) {l[a[2]]=l[a[2]]a[1]","}; END{for(v in l){print v,substr(l[v],1,length(l[v])-1)}}'

नमूना उत्पादन:

$ ls -l /etc/rc*.d/* | gawk 'match($0, /rc([0-6S]).d.*\/(.*)$/, a) {l[a[2]]=l[a[2]]a[1]","}; END{for(v in l){print v,substr(l[v],1,length(l[v])-1)}}' | egrep README
README 0,1,2,3,4,5,6,S
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.