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 (!?!?!)?

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é.

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.