Preciso identificar os serviços atualmente em execução, mas não consigo descobrir os resultados da execução service --status-all
, quero dizer o que faz ? , - e + significa?
$ 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
E rodar este comando com o sudo faria alguma diferença? Eu tentei e, no meu caso, não fez nenhuma diferença, mas pode ser diferente em outras configurações?
-
e+
irá para stdout, a saída para serviços marcados?
irá para stderr.service --status-all
me dá 43 serviços.initctl list
dá-me 93. Apenas um punhado desses 93 são duplicados.Upstart
'systemd' agora. Eu também não vejo mais "?" no meu sistema 16.04.Não está documentado na página de manual, mas uma rápida olhada na fonte confirma o primeiro palpite:
+
: o serviço está sendo executado-
: o serviço não está sendo executado?
: o estado do serviço não pode ser determinado (por algum motivo).O código real :
As condições são:
status
comando, o estado será?
.status
status de saída do script init (com o argumento) for zero e a saída não estiver vazia, o estado será+
.-
.fonte
Acredito que
+
significa que o serviço está ativo / em execução,-
significa que está inativo / parado e?
que o comando não pode determinar conclusivamente se está ativo ou não, pois o serviço não possui umstatus
comando no script de serviço. Oservice --status-all
comando realmente é executadoservice <service-name> status
para todos os serviços disponíveis.fonte
Acho que correr com / sem
sudo
faz a diferença.Alguns serviços
/var/run/
têm acesso de leitura apenas ao usuário root. Esses serviços mostram status[-]
semsudo
e[+]
comsudo
.fonte