Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/06/2009, 05:34
samy4ever
 
Fecha de Ingreso: agosto-2008
Mensajes: 143
Antigüedad: 16 años, 2 meses
Puntos: 1
Porceso background y c shell

Hola,

Estoy haciendo unos scripts csh y me asaltó una duda.

Tengo un foreach que me repite un comando varias veces. PERO, este comando tarda unos 5 segundos en calcular la salida, es decir, que:

primera ejecución del comando
pasan 5 segundos
obtenida salida del primer comando

segunda ejecucion del comando
pasan 5 segundos
obtenida respuesta del segundo comando

...
...
...


Justo al terminar el bucle, que ya he colocado la información recibida en una base de datos, quiero ejecutar otra instrucción que me usará la información obtenida anteriormente para realizar nuevos cálculos.

La duda es, ahora mismo el comando se ejecuta, se espera lo que haga falta, y después continúa...

Me gustaría hacer que la instrucción que se va repitiendo en el bucle lo haga en background (&) de manera que no se parase cada vez en el bucle sinó que el bucle no tubiera esperas:

lanzará el comando y continuara ejecutándose, lanzando de nuevo los comandos... y internamente, que se fueran calculando.

El problema es... Si después, mi script va a usar esa información, como puede saber cuando ya ha terminado de calcularlo?

Es decir, puedo lanzar en background todas las comandas que salgan del bucle pero al terminar el bucle, si no han pasado 5 segundos, lo que viene después no tendrá sentido. Como podría hacer para lanzar esos comandos en background y que después del bucle detectara cuando ha terminado y por tanto, puedo seguir?

Es muy tonto esto? Es simplemente una duda, tampoco es esencial... Pero ahora me asaltó la duda.

Gracias!

SAmy