Linux/Unix Shell Scripting - Script que monitorice cuando un proceso se queda colgado

 
Vista:

Script que monitorice cuando un proceso se queda colgado

Publicado por Juan (1 intervención) el 12/04/2018 10:59:01
Buenas Alberto,

Tengo que monitorizar una cosa. A ver si me podéis ayudar.

El tema es que en una máquina Linux a veces al ejecutar un df -k no devuelve salida y se queda colgado, pues bien quieren controlar esto y que salga alerta cuando pase ya que luego les deriva en otros problemas.

He pensado hacerlo con la salida de los códigos de error de bash, es decir si devuelve un 0 es que está ok y sino no.

El problema es que como el comando no termina, pues el script tampoco y no devuelve nada, se queda corriendo. La prueba la he hecho ejecutando este comando que simula un poco el tema, es decir no devuelve nada si lo ejecutas : #top | wc -l

El script en cuestión y simplificado sería (pero claro, no pasa de la primera línea cuando se ejecuta el top|wc –l)

1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh
 
CMD_OUTPUT=`/usr/bin/top | wc -l `
COMPROBACION=`/usr/bin/echo $?`
if [ ${COMPROBACION} -eq 0 ]
then
  echo ok;
else
  echo ko;
fi
exit

Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Xavi
Val: 86
Oro
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Script que monitorice cuando un proceso se queda colgado

Publicado por Xavi (6 intervenciones) el 12/04/2018 17:07:57
Hola Juan, porque no utilizas timeout??

Le puedes indicar que si el script tarda mas de 5 segundos, devuelve un error...
https://linux.die.net/man/1/timeout

1
timeout 5 tuscript.sh || echo "Error ha tardado mas de 5 segundos"

te puede servir?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar