Réponses:
La réponse rapide est: Cela dépend de votre init
système.
La réponse longue est la suivante : Pour les versions actuelles d'Ubuntu, vous avez probablement un mélange de Upstart et SystemV . Les nouvelles versions d'Ubuntu après 15.04 "Vivid Vervet" (et d'autres distributions Linux comme RHEL / CentOS 7) commencent à utiliser SystemD .
Pour lister tous les services:
initctl list
Pour répertorier tous les services Upstart et les exécuter initctl show-config
, cette option peut être utile:
initctl list | awk '{ print $1 }' | xargs -n1 initctl show-config
Pour lister tous les services:
service --status-all
OU:
# for init scripts:
ls /etc/init.d/
# for runlevel symlinks:
ls /etc/rc*.d/
Pour lister tous les services:
systemctl list-unit-files --type=service
OU:
ls /lib/systemd/system/*.service /etc/systemd/system/*.service
service --status-all
N'indique PAS si les services sont activés pour démarrer au démarrage, du moins pas sous Ubuntu 16. Il indique si les services sont en cours d'exécution ou non.
sudo service --status-all
obtenir tous les services pour apparaître. Quelques-uns étaient cachés lorsque je ne fonctionnais que service --status-all
sur un compte non root.
systemctl
, service
, initctl
...) comme ils sont habituellement considérés comme les commandes d'administration du système.
Les répertoires /etc/init.d
et /etc/rc.*
ont été remplacés par l' upstart
outil ' ' init. Bien que les scripts de ces répertoires soient exécutés comme prévu, la nouvelle méthode pour 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.
initctl list
est beaucoup plus agréable que cette commande dbus. J'aimerais laisser cette réponse ici pour référence (plutôt que de la supprimer complètement) cependant.
Identifiant utilisé initctl show-config <servicename>
pour vraiment savoir 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.
Le 12.04, nous pourrions utiliser:
sudo apt-get install chkconfig
chkconfig --list
mais il a été supprimé en 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
Pour Ubuntu 18.04, utilisez:
systemctl list-units --type=service
au lieu de :
initctl
À partir de Ubuntu 16.04, initctl
a été remplacé par systemd
.
https://www.linuxtricks.fr/wiki/systemd-les-commandes-essentielles (FR_fr)
(Si cela peut aider @ sanjay-manohar)
Outre les services système et les scripts sous:
/etc/init.d/
/ lib / systemd / system /
/ etc / systemd / system /
Il existe probablement aussi des applications AutoStart , par exemple:
find / -name "*autostart*"
ls -1 "/etc/xdg/autostart" "/home/$USER/.config/autostart" "/usr/share/gdm/autostart" "/usr/share/gnome/autostart"
En utilisant 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