¿Qué significa un signo de interrogación al enumerar todos los servicios?

9

Después de ejecutar el comando service --status-allobtengo una lista de todos los servicios en mi máquina. Tengo una salida como esta.

[ ? ]  acpi-fakekey
[ ? ]  acpi-support
[ + ]  acpid
[ - ]  anacron
[ + ]  apache2
[ + ]  atd
[ - ]  bootlogd

¿Qué significa un ?? Siempre he asumido un +medio para iniciar el proceso y un -medio para detenerlo. ¿En qué estado está precedido un servicio ??

Aquí está el contenido de mi /proc/versionarchivo en caso de que ayude a cualquiera a responderme.

Linux version 2.6.32-5-amd64 (Debian 2.6.32-45)

¡Gracias por adelantado!

Grenville
fuente

Respuestas:

7

El signo de interrogación en la salida de service --status-allse imprime cuando el /usr/sbin/servicescript no encuentra la línea de estado en la estructura del caso en el script relacionado debajo /etc/init.d.

Si observa el /usr/sbin/servicescript, puede encontrar una declaración if como esta:

if ! grep -qs "\Wstatus)" "$SERVICE"; then
    #printf " %s %-60s %s\n" "[?]" "$SERVICE:" "unknown" 1>&2
    echo " [ ? ]  $SERVICE" 1>&2
    continue
else
Khaled
fuente
1
... y dado que esa expresión regular no es correcta, también imprimirá falsamente ?si la status)línea no tiene un carácter que no sea "[: alnum:]" delante de ella.
falso el