Iniciar sesión

Ver la versión completa : Como ejecutar script linux cada 5 seg?



crossmax
15/03/2011, 11:30
Buenos dias compañeros!!

Queria preguntaros una cosilla sobre linux y programación,a ver si me podeis decir como podría hacerlo.
Tengo una aplicacion corriendo sobre un ARM linux y quiero que si se peta la aplicacion se relance.
Lo iba a hacer con un script y cron, pero cron no me da menos de 1 minuto de tiempo y yo necesito que se compruebe como cada 5 segundos. ¿Sabeis como prodría hacerlo?

Muchas garcias por vuestra ayuda!!

JoJo_ReloadeD
15/03/2011, 11:31
while [ 1 ]
do
codigo
sleep 5
done

eso ejecutado con nohup y en segundo plano

crossmax
15/03/2011, 14:52
while [ 1 ]
do
codigo
sleep 5
done

eso ejecutado con nohup y en segundo plano

Mas o mennos lo tengo, gracias, pero aun hay una cosa que no acaba de ir.

Tengo un .c que es el que voy al lanzar al iniciar el sistema:


#include<stdio.h>

int main(){
int i;
while(1) {
system("/bin/sh -c 'ls -l'");
system("/bin/sh -c /root/reload.sh");
sleep(5);
}
return 0;
}

y ese va a llamar cada 5 segundos al script reload.sh que contiene:


#!/bin/sh
SERVICE='WX'
if ps | grep -v grep | grep $SERVICE > /dev/null
then
echo "El servicio $SERVICE esta ejecutandose"
else
echo "Chanfle! El servicio $SERVICE esta detenido"
/usr/bin/WX
fi


El script funciona pero el main al ejecutarlo me suelta reload: line 1: syntax error: unexpected "(" sin embargo si ejecuto en el terminal en cuestion (manualmente) los comandos:
/bin/sh -c 'ls -l'"
/bin/sh -c /root/reload.sh"

si que funcionan.

¿Sabeis como puedo solucionarlo?

Gracias de nuevo

< - >
Me contesto a mi mismo!

Todo esto funciona bien, lo unico que me faltaba era hacer la compilacion cruzada, que se me habia olvidado.

Gracias!