Servicio --status-all -> ¿qué significa la columna con [? ], [+] y [-] significan?

13

Si ejecuto el comando "service --status-all", cada servicio (¿en ejecución?) Aparece en formato de columna. La primera columna tiene un [? ], [+] o [-] antes del nombre del servicio. ¿Qué representa esta columna? ¿Qué significa?, + Y -?

Lo siento si esta es una pregunta simple. Busqué en línea durante ~ 30 minutos antes de venir y preguntar.

Incluso encontré esto: ¿Qué significan los símbolos en servicio --status-all? donde la respuesta "correcta" indica "Dibuja un [+] o [-] dependiendo de si el estado de salida era cero o no, respectivamente".

Entonces, supongo que mi nueva pregunta es ¿qué significa el estado cero y no cero (!?!?!)?

00fruX
fuente

Respuestas:

12

Bueno, esos son solo códigos de salida. Después de que algo se haya ejecutado, puede devolver un número entero de 8 bits (0-255) para indicar cómo salió.

  • Cero (que está implícito si no se devuelve nada) significa que la aplicación llegó al final de lo que se suponía que debía hacer y salió de forma natural.
  • Los códigos distintos de cero (1-255) pueden significar lo que quiera la aplicación. La página de manual ( man <command>) generalmente le mostrará lo que significan estos códigos.

En términos de la pregunta, no lo pienses demasiado:

  • + significa que está funcionando
  • -significa que no lo es ( puede que se haya estrellado, puede que nunca haya comenzado), y
  • ?significa que los servicios no tienen un statuscomando, por lo que no hay forma de que el comando del servicio pueda determinar qué es qué.
Oli
fuente
1
Estoy totalmente de acuerdo con tu respuesta (+1), pero simplemente no puedo entender por qué sudo service --status-all 2>&1 | grep sshsale [ - ] sshincluso cuando ejecuto este comando desde SSH. ¿O por qué sudo service --status-all 2>&1 | grep lightdmsale [ ? ] lightdmcuando sudo service lightdm statusfunciona como un encanto?
Radu Rădeanu
@ RaduRădeanu Para adivinar, creo que podría ser un /etc/init.dproblema heredado . En mi computadora actualizada en serie, /etc/init.d/ssh status; echo $?muestra un valor distinto de cero (incorrecto, no se ejecuta) y initctl listno muestra SSH. En mi caja de 14,04 initctrl hace espectáculo de SSH, pero servicetodavía no puede leer el estado. También recuerda que initctrlfunciona para Upstart y servicees parte de sysvinit-utils. No son las imágenes más claras, pero creo que eso podría explicar de alguna manera algunas de las peculiaridades. Estoy seguro de que el cambio a systemd aclarará todo D:
Oli
Pensé que también podría devolverse un código de salida negativo, ¿o es solo para scripts que no son de servicio?
saiarcot895