Muszę zidentyfikować aktualnie uruchomione usługi, ale nie mogę dowiedzieć się, jakie są ich wyniki service --status-all
, mam na myśli, co to znaczy ? , - i + oznacza?
$ 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
Czy uruchomienie tego polecenia w sudo miałoby jakąkolwiek różnicę? Próbowałem i w moim przypadku nie miało to znaczenia, ale czy może różnić się w innych konfiguracjach?
-
i+
przejdzie do standardowego wyjścia, wynik dla usług oznaczonych?
przejdzie do standardowego.service --status-all
daje mi 43 usługi.initctl list
daje mi 93. Tylko garstka z tych 93 to duplikaty.Upstart
teraz 'systemd'. Nie widzę też „?” w moim systemie 16.04.Nie jest to udokumentowane na stronie podręcznika, ale szybkie spojrzenie na źródło potwierdza pierwsze przypuszczenie:
+
: usługa jest uruchomiona-
: usługa nie działa?
: z jakiegoś powodu nie można ustalić stanu usługi.Rzeczywisty kod :
Warunki są następujące:
status
polecenia, stan to?
.status
status wyjścia skryptu inicjującego (z argumentem) wynosi zero, a dane wyjściowe nie są puste, to stan to+
.-
.źródło
Uważam, że
+
oznacza to, że usługa jest aktywna / działa,-
oznacza, że jest nieaktywna / zatrzymana, i?
oznacza, że polecenie nie może jednoznacznie ustalić, czy jest aktywne, czy nie, ponieważ usługa nie mastatus
polecenia w skrypcie usługi.service --status-all
Komenda faktycznie działaservice <service-name> status
dla każdej dostępnej usługi.źródło
Uważam, że bieganie z / bez
sudo
robi różnicę.Niektóre usługi
/var/run/
mają dostęp tylko do odczytu dla użytkownika root. Usługi te pokazują status[-]
bezsudo
i[+]
zsudo
.źródło