Necesito identificar los servicios que se ejecutan actualmente, pero no puedo entender los resultados de la ejecución service --status-all
, quiero decir, ¿qué hace ? , - y + mean?
$ 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
¿Y ejecutar este comando con sudo haría alguna diferencia? Lo probé y en mi caso no hizo ninguna diferencia, pero ¿puede diferir en otras configuraciones?
-
y se+
enviará a stdout, la salida para los servicios marcados?
irá a stderr.service --status-all
me da 43 servicios.initctl list
me da 93. Solo un puñado de esos 93 son duplicados.Upstart
, está usando 'systemd' ahora. También ya no veo "?" en mi sistema 16.04.No está documentado en la página de manual, pero un vistazo rápido a la fuente confirma la primera suposición:
+
: el servicio se está ejecutando-
: el servicio no se está ejecutando?
: el estado del servicio no se puede determinar (por alguna razón).El código actual :
Las condiciones son:
status
comando, el estado es?
.status
estado de salida del script de inicio (con el argumento) es cero y la salida no está vacía, el estado sí lo es+
.-
.fuente
Creo que eso
+
significa que el servicio está activo / en ejecución,-
significa que está inactivo / detenido y?
que el comando no puede determinar de manera concluyente si está activo o no, ya que el servicio no tiene unstatus
comando en el script de servicio. Elservice --status-all
comando realmente se ejecutaservice <service-name> status
para cada servicio disponible.fuente
Me parece que correr con / sin
sudo
hace la diferencia.Algunos servicios
/var/run/
tienen acceso de lectura solo para el usuario root. Esos servicios muestran estado[-]
sinsudo
y[+]
consudo
.fuente