Ich muss die aktuell ausgeführten Dienste identifizieren, kann aber die Ergebnisse der Ausführung nicht herausfinden. service --status-all
Ich meine, was bedeutet das ? , - und + bedeuten?
$ 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
Und würde es einen Unterschied machen, wenn Sie diesen Befehl mit sudo ausführen? Ich habe es versucht und in meinem Fall hat es keinen Unterschied gemacht, aber kann es in anderen Setups abweichen?
-
& gekennzeichneten Dienste+
erfolgt nach stdout, die Ausgabe für die mit & gekennzeichneten Dienste?
erfolgt nach stderr.service --status-all
gibt mir 43 Dienste.initctl list
gibt mir 93. Nur eine Handvoll dieser 93 sind Duplikate.Upstart
Sie "systemd" jetzt verwenden. Ich sehe auch nicht mehr "?" auf meinem 16.04 System.Es ist nicht in der Manpage dokumentiert, aber ein kurzer Blick auf die Quelle bestätigt die erste Vermutung:
+
: Der Dienst wird ausgeführt-
: Der Dienst wird nicht ausgeführt?
: Der Servicestatus kann (aus irgendeinem Grund) nicht ermittelt werden.Der eigentliche Code :
Die Bedingungen sind:
status
Befehl unterstützt, lautet der Status?
.status
Argument) Null ist und die Ausgabe nicht leer ist, lautet der Status+
.-
.quelle
Ich glaube, das
+
bedeutet , dass der Dienst aktiv ist / läuft,-
dass er inaktiv ist / gestoppt ist und?
dass der Befehl nicht endgültig bestimmen kann, ob er aktiv ist oder nicht, da der Dienst keinenstatus
Befehl im Dienstskript hat. Derservice --status-all
Befehl wird tatsächlichservice <service-name> status
für jeden verfügbaren Dienst ausgeführt.quelle
Ich finde, dass Laufen mit / ohne
sudo
einen Unterschied macht.Einige Dienste in
/var/run/
haben nur Lesezugriff auf den Root-Benutzer. Diese Dienste zeigen den Status[-]
ohnesudo
und[+]
mitsudo
.quelle