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.