Je dois identifier les services en cours d'exécution mais je n'arrive pas à comprendre les résultats de l'exécution service --status-all
, je veux dire, qu'est-ce que c'est ? , - et + signifie?
$ service --status-all
[ + ] acpid
[ + ] anacron
[ + ] apparmor
[ ? ] apport
[ ? ] atieventsd
[ + ] avahi-daemon
[ ? ] binfmt-support
[ + ] bluetooth
[ - ] brltty
[ + ] console-font
[ + ] console-setup
[ + ] cron
[ + ] cups
[ + ] cups-browsed
[ - ] dbus
[ ? ] dns-clean
[ + ] friendly-recovery
[ - ] grub-common
[ ? ] irqbalance
[ - ] kerneloops
[ ? ] killprocs
[ + ] kmod
[ ? ] lightdm
[ - ] lm-sensors
[ ? ] mysql
[ ? ] networking
[ ? ] ondemand
[ ? ] pppd-dns
[ - ] procps
[ - ] pulseaudio
[ ? ] rc.local
[ + ] resolvconf
[ + ] rfkill-restore
[ + ] rfkill-store
[ - ] rsync
[ + ] rsyslog
[ + ] saned
[ ? ] sendsigs
[ + ] setvtrgb
[ ? ] speech-dispatcher
[ - ] sudo
[ + ] timidity
[ + ] udev
[ ? ] umountfs
[ ? ] umountnfs.sh
[ ? ] umountroot
[ - ] unattended-upgrades
[ - ] urandom
[ + ] virtualbox
[ - ] x11-common
Et exécuter cette commande avec sudo ferait-il une différence? Je l'ai essayé et dans mon cas, cela ne faisait aucune différence, mais peut-il différer dans d'autres configurations?
-
&+
ira à stdout, sortie pour les services marqués?
ira à stderr.service --status-all
me donne 43 services.initctl list
me donne 93. Seules une poignée de ces 93 sont des doublons.Upstart
vous utilisez 'systemd' maintenant. Je ne vois plus non plus "?" sur mon système 16.04.Ce n'est pas documenté dans la page de manuel, mais un rapide coup d'œil à la source confirme la première hypothèse:
+
: le service est en cours d'exécution-
: le service ne fonctionne pas?
: l'état du service ne peut pas être déterminé (pour une raison quelconque).Le code actuel :
Les conditions sont:
status
commande, l'état est?
.status
état de sortie du script init (avec l' argument) est égal à zéro et que la sortie n'est pas vide, l'état l'est+
.-
.la source
Je pense que cela
+
signifie que le service est actif / en cours d'exécution,-
qu'il est inactif / arrêté et?
que la commande ne peut pas déterminer avec certitude si elle est active ou non, car le service n'a pas destatus
commande dans le script de service. Laservice --status-all
commande s'exécute réellementservice <service-name> status
pour chaque service disponible.la source
Je trouve que courir avec / sans
sudo
fait une différence.Certains services
/var/run/
ont un accès en lecture uniquement à l'utilisateur root. Ces services affichent le statut[-]
sanssudo
et[+]
avecsudo
.la source