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


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

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

Que hace un ? ¿media? Siempre he asumido un + significa que el proceso se inicia y una - Significa que el proceso está detenido. Qué estado es un servicio precedido por ? ¿en?

Aquí está el contenido de mi /proc/version En caso de archivo, ayuda a cualquiera a contestarme.

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

¡Gracias por adelantado!


9
2017-11-07 15:21


origen




Respuestas:


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

Si nos fijamos en el /usr/sbin/service Script, puedes encontrar una sentencia if como esta:

if ! grep -qs "\Wstatus)" "$SERVICE"; then
    #printf " %s %-60s %s\n" "[?]" "$SERVICE:" "unknown" 1>&2
    echo " [ ? ]  $SERVICE" 1>&2
    continue
else

7
2017-11-07 15:51



... y como esa expresión regular no es correcta, también imprimirá falsamente ? Si el status) la línea no tiene un carácter que no sea "[: alnum:]" delante de ella. - faker