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-allme da 43 servicios.initctl listme 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:
statuscomando, el estado es?.statusestado 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 unstatuscomando en el script de servicio. Elservice --status-allcomando realmente se ejecutaservice <service-name> statuspara cada servicio disponible.fuente
Me parece que correr con / sin
sudohace la diferencia.Algunos servicios
/var/run/tienen acceso de lectura solo para el usuario root. Esos servicios muestran estado[-]sinsudoy[+]consudo.fuente