Reabrir automaticamente programa que se cierra

Buenas, creo que el hilo va aquí porque se trata del programa "jdownloader" y creo que no va con licencia. La duda va respecto de dicho programa pero creo que puede aplicarse a otros. Paso a explicar brevemente el problema:

- Cuando lo estoy utilizando, hay veces que se cierra solo, sin dejar ni aviso, ni problema ni nada de nada. Simplemente se cierra y punto. Entonces tengo que volver a abrirlo y claro, como es un programa de descargas pues es un poco engorro.

La pregunta es: ¿hay alguna manera de que cuando se detecte que el programa se ha cerrado, que se reabra automaticamente? No se, habia pensado que a lo mejor había algo que el PC dijera, "vaya, no detecto este programa en la lista de procesos, voy a lanzarlo" o algo así. ¿Sabeis de algo parecido?

Saludos
Estos programas se llaman watchdog. No indicas el sistema operativo que usas, aunque tampoco sabría decirte ninguno.

Cuando quiero un programa que se abra siempre que se cierre por lo que sea, lo lanzo desde terminal:

while true; do programa; done

Claro que eso no funciona con todos.
con un script con un bucle infinito? lo mismo es demasiado burro, pero no sé...

edito: vaya... se me adelantaron
Bueno, no tiene que ser demasiado burro si se hace con algo mas de detalle que "bucle infinito" XD

Aprovechando que los programas devuelven un codigo de error al shell, al cerrarse (normalmente 0 si se ha cerrado normal, otra cosa si se ha cerrado por error), se puede hacer algo asi:


#!/bin/sh

CODE=-1

while [ $CODE != 0 ]; do
  echo "Ejecutamos el programa aqui"
  # Aqui va la linea donde se ejecuta el programa
  CODE=$?  ## Se coge el codigo de salida del programa que acabamos de ejecutar
done

echo "El programa se ha cerrado correctamente, se acaba el script"


Lo suyo es usar un watchdog, pero bueno:

while programa ; do true; done


- ferdy
Muchisimas gracias por las respuestas. Ya solo me queda otra pregunta: ¿esto hay posibilidad de usarlo también en windows?

Gracias

EDITO: Buscando por el google "watchdog" pues he encontrado varios programas, pero cuando los voy a ejecutar desde Windows (tengo el vista) me sale "Program too big to fit into memory". ¿Porqué puede ser?
5 respuestas