Commande pour répertorier les services qui démarrent au démarrage?

123

Existe-t-il une commande permettant de répertorier les services exécutés au démarrage? J'imagine que cela impliquerait l'analyse de /etc/init.d/ et des divers répertoires /etc/rc.* .

    
posée Eric H 29.07.2010 - 01:40
la source

7 réponses

102

Vous pouvez simplement utiliser la commande initctl list shell pour répertorier le contenu de /etc/init plutôt que la commande dbus-send suggérée.

    
réponse donnée Scott 13.10.2010 - 04:04
la source
95

La réponse rapide est: Cela dépend de votre système init .

La réponse longue est: Pour les versions actuelles d’Ubuntu, vous avez probablement un mélange de Upstart et de SystemV . Les nouvelles versions d’Ubuntu après 15.04 "Vivid Vervet" (et d’autres distributions Linux comme RHEL / CentOS 7) passent à l’utilisation de SystemD . .

Parvenu

Pour répertorier tous les services:

initctl list

Pour répertorier tous les services Upstart et exécuter initctl show-config sur ceux-ci, voici le cas échéant:

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

Système V

Pour répertorier tous les services:

service --status-all

OU:

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

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

SystemD

Pour répertorier tous les services:

systemctl list-unit-files --type=service

OU:

ls /lib/systemd/system/*.service /etc/systemd/system/*.service
    
réponse donnée TrinitronX 27.09.2015 - 05:49
la source
13

Les répertoires /etc/init.d et /etc/rc.* ont été remplacés par l'outil d'initialisation ' upstart '. Bien que les scripts de ces répertoires soient exécutés comme prévu, la nouvelle méthode permettant d'exécuter des tâches sur init est définie par les fichiers de /etc/init/

.

Vous pouvez répertorier tous les travaux à venir en interrogeant upstart sur dbus:

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

Il se peut que vous deviez changer 0_6 pour refléter la version d’upstart que vous avez. Cette commande fonctionne sur mon installation lucide.

    
réponse donnée Jeremy Kerr 29.07.2010 - 05:30
la source
12

Si vous voulez une belle représentation graphique des services et le temps qu'il faut pour démarrer, essayez:

apt-get install bootchart
    
réponse donnée john 13.10.2010 - 05:39
la source
11

Id utilisez initctl show-config <servicename> pour obtenir vraiment les détails de quand / si votre service va démarrer au démarrage.

Comme si:

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

Ou pour le démon idmap NFS4:

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

chkconfig n’est préférable que sur les systèmes basés sur RedHat à l’imho.

    
réponse donnée CBmemnon 21.07.2014 - 12:46
la source
8

Le 12.04, nous pourrions utiliser:

sudo apt-get install chkconfig
chkconfig --list

mais il a été supprimé de la version 12.10 .

Exemple de sortie:

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
    
la source
-2

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

Exemple de sortie:

$ 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
    
réponse donnée Carlos Alvsan 07.01.2017 - 17:04
la source

Lire d'autres questions sur les étiquettes