2011-07-05 9 views
9

tengo este comando que se ejecuta desde un terminal en UbuntuLinux comando a ejecutar la escritura en intervalos

python2.5 /home/me/web/gae/google_appengine/dev_appserver.py /home/me/web/gae/APPLICATION/trunk 

Tengo que dejar este espectáculo de correr y luego reiniciarlo cada 10 segundos - Puedo ejecutar esto desde a. sh archivo si es necesario.

¿Cuál sería la mejor manera de hacerlo? Me gustaría que todo esté en un guión, si es posible, así que no interesado en usar trabajos cron para ejecutarlo. ¿Hay alguna manera de hacer un ciclo con un retraso en un script de shell?

El equivalente más cercano que puedo pensar es de JavaScript setInterval(function(),10000);

+0

¿Por qué no utilizar cron? Parece la herramienta adecuada para este trabajo. – Sorpigal

Respuesta

14

usted podría intentar algo como esto:

while true; do 
    python2.5 /home/me/web/gae/google_appengine/dev_appserver.py /home/me/web/gae/APPLICATION/trunk & 
    sleep 10 
    kill $! 
done 

es decir .: bucle infinito (while true), inicie el script en Python, en el fondo, espere 10 segundos (sleep 10) y matar el proceso de fondo (kill $!).

1

hay sleep y at si no te gusta cron

echo "print after 3min again" 
sleep 180 # or sleep +3m 
echo "hello again, 3min passed" 

Leer las páginas man, jugar con los un poco, y yo Creo que sería fácil construir lo que quieras, alrededor de esos.

2

me gusta ~ $ reloj -n comando seg

es decir,

watch -n 10 ls /home/user/specialdata 

watch -n 30 csync /dir/A /remote/dir/B 
+0

Creo que esto supone que el proceso que se está viendo finaliza, mientras que el OP está ejecutando un proceso de servidor que se debe eliminar. Pero no estaba al tanto de la guardia, así que gracias por el aviso. – contrebis

Cuestiones relacionadas