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!
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions Inc. All rights reserved.