Başlangıçta başlayan hizmetleri listeleme komutu?


144

Başlangıçta çalışan hizmetleri listelemek için bir komut var mı? Ayrıştırmayı /etc/init.d/ve çeşitli /etc/rc.*dizinleri içereceğini hayal ediyorum .

Yanıtlar:


104

Önerilen komut yerine initctl listiçerikleri listelemek için shell komutunu kullanabilirsiniz ./etc/initdbus-send


2
Bu Ubuntu 18.04'te çalışıyor mu? "İnitctl: command not found" (bash'ta) alıyorum
Sanjay Manohar

121

Hızlı cevap: Bu initsisteminize bağlıdır .

Uzun cevap: Şu anki Ubuntu sürümleri için, muhtemelen bir Upstart ve SystemV karışımı vardır . 15.04 "Vivid Vervet" den sonra Ubuntu'nun yeni sürümleri (ve RHEL / CentOS 7 gibi diğer Linux dağıtımları) SystemD kullanıyor .

sonradan görme

Tüm hizmetleri listelemek için:

initctl list

Tüm Upstart servislerini listelemek ve initctl show-configüzerinde çalışmak için bu tek astar yardımcı olabilir:

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

Sistem V

Tüm hizmetleri listelemek için:

service --status-all

VEYA:

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

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

systemd

Tüm hizmetleri listelemek için:

systemctl list-unit-files --type=service

VEYA:

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

9
Bu kabul edilen cevap olmalı.
sjas,

service --status-allHizmetlerin önyüklemeyle başlatılmasının etkin olup olmadığını, en azından Ubuntu 16'da görünmediğini gösterir. Hizmetlerin şu anda çalışıp çalışmadığını gösterir .
Wildcard

1
Ben zorunda sudo service --status-allalmak için tüm göstermek hizmetlerin. Yalnızca service --status-allroot olmayan bir hesapta çalışırken birkaç kişi gizlendi .
Phlucious

@Phlucious: Bunu söylediğiniz için teşekkürler. Ben de bu komutlar genellikle kök (olarak çalıştırılır biliniyordu farz systemctl, service, initctlgenellikle sistem yönetimi komutları kabul edildiğinden ...).
TrinitronX

13

/etc/init.dVe /etc/rc.*dizinleri 'konularak iptal edilmiştir upstart' init aracı. Her ne kadar bu dizinlerdeki komut dosyaları beklendiği gibi çalıştırılsa da, init'te çalıştırılan yeni yöntemler içindeki dosyalar tarafından tanımlanır./etc/init/

Tüm başlangıç ​​işlerini, dbus üzerinden başlangıç ​​işini sorgulayarak listeleyebilirsiniz:

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

Sahip 0_6olduğunuz upstart versiyonunu yansıtacak şekilde değiştirmeniz gerekebilir . Bu komut benim lucid kurulumumda çalışıyor.


3
@Eric H: Aşağıdaki cevabı doğru olarak ayarlayabilir misiniz - initctl listbu dbus komutundan çok daha iyi. Yine de bu cevabı referans olarak (tamamen silmek yerine) burada bırakmak istiyorum.
Jeremy Kerr

12

Hizmetlerin ve zamanın güzel bir grafik gösterimini istiyorsanız, önyüklemenin yapılması gerekir:

apt-get install bootchart

11

initctl show-config <servicename>Hizmetiniz önyükleme sırasında ne zaman / başlayacağının ayrıntılarını gerçekten almak için kullanın .

Bunun gibi:

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

Veya NFS4 idmap-daemon için:

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

chkconfig, yalnızca RedHat tabanlı sistemlerde tercih edilir.


1
Bu doğru cevap. Neden tüm yanlış ve eksik cevapların bu kadar yüksek olduğu hakkında hiçbir fikrim yok.
Cerin

1
Bu, SysV kullanan insanlar için işe yaramaz, bunun iyi bir cevap olduğu konusunda hemfikir değilim.
Gabriel Netto

9

12.04'te şunları kullanabiliriz:

sudo apt-get install chkconfig
chkconfig --list

ancak 12.10'da çıkarıldı .

Örnek çıktı:

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
Ubuntu'da çalışmıyor. packages.ubuntu.com/...
AB

@AB bana bildirdiğiniz için teşekkür ederiz! Katılımcıların bugünlerde yorum yapmaları nadirdir: cesaret gerektirir ve öğrenmeme izin veriyor. çalıştığı sürümüyle güncellendi.
Ciro Santilli,



0

Aşağıdaki sistem hizmetleri ve betikleri yanında:

/etc/init.d/
/ lib / systemd / sistem /
/ etc / systemd / sistem /

Muhtemelen AutoStart Uygulamaları da vardır, örneğin:

find / -name "*autostart*"

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

-2

Gawk kullanımı:

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)}}'

Örnek çıktı:

$ 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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.