web-dev-qa-db-fra.com

Commande pour lister les services qui démarrent au démarrage?

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

134
Eric H

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

104
Scott

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 pstart , et SystemV . Les nouvelles versions d'Ubuntu après 15.04 "Vivid Vervet" (et d'autres distributions Linux comme RHEL/CentOS 7) commencent à être utilisées SystemD .

Parvenu

Pour lister 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 lister tous les services:

service --status-all

OU:

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

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

SystemD

Pour lister tous les services:

systemctl list-unit-files --type=service

OU:

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

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

Vous devrez peut-être changer 0_6 pour refléter la version d’upstart que vous avez. Cette commande fonctionne sur mon installation lucide.

13
Jeremy Kerr

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

apt-get install bootchart
12
john

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

Ainsi:

$ 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 est préférable uniquement sur les systèmes basés sur RedHat à l’imho.

11
CBmemnon

Le 12.04, nous pourrions utiliser:

Sudo apt-get install chkconfig
chkconfig --list

mais c’était retiré de 12.1 .

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

Outre les services système et les scripts sous:

/etc/init.d/
/lib/systemd/system/
/etc/systemd/system/

Il y a probablement Applications AutoStart aussi, par exemple:

find / -name "*autostart*"

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