[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Programar tarea diaria con límite de tiempo de ejecución (SOLUCIONADO)



El Wed, 2 Apr 2014 08:55:10 -0400
"Ismael L. Donis Garcia" <slibre@citricos.co.cu> escribió:

> 
> ----- Original Message ----- 
> From: "Eduardo A. Bustamante López" <dualbus@gmail.com>
> To: "Ismael L. Donis Garcia" <slibre@citricos.co.cu>
> Cc: <debian-user-spanish@lists.debian.org>
> Sent: Tuesday, April 01, 2014 1:21 PM
> Subject: Re: Programar tarea diaria con límite de tiempo de ejecución
> 
> 
> > On Mon, Mar 31, 2014 at 05:01:08PM -0400, Ismael L. Donis Garcia wrote:
> >> Muchas gracias a todos los que me han respondido.
> >>
> >> Me pondré a ver como se hace para ver si logro hacerlo porque la
> >> verdad no tengo la más mínima idea de como hacer un script, pero
> >> bueno miraré de que forma logro hacerlo. Al menos ya me han
> >> comentado por donde enfocar las cosas.
> >>
> >> El proceso que voy a lanzar no tiene problemas al ser matado ya que
> >> cuando comienza de nuevo el verifica la ultima operación que realizo
> >> y a partir de ahí comienza con la siguiente. Por lo que solo me hace
> >> falta levantar el proceso a una hora y cerrarlo en caso de que esté
> >> aun abierto a otra hora determinada.
> >>
> >> Saludos Reiterados
> >> ========
> >> | ISMAEL |
> >> ========
> >
> > No es tan difícil. Solo debes poner 'timeout N' de prefijo al comando
> > que quieras correr, por ejemplo:
> >
> > | dualbus@debian:~$ time timeout 5 sleep 10
> > |
> > | real  0m5.059s
> > | user  0m0.000s
> > | sys 0m0.000s
> >
> > (el time es para que veas como dura 5 y no 10 segundos).
> >
> > Entonces, si buscas que tu comando tenga una duración máxima de 8
> > horas, solo debes hacer:
> >
> > | timeout 8h tu-comando-aqui parametros...
> >
> > Muy sencillo.
> >
> >
> > Lo que *no* recomiendo es que escribas el PID en un archivo y lances
> > otro proceso para que mate al original a las 8 horas. No sólo es más
> > complejo, sino que también puedes terminar matando al que no quieres.
> >
> > Esto se debe a que si tu proceso original a matar termina temprano,
> > su PID *desaparece* pero después el kernel puede decidir reutilizar
> > ese mismo PID para otro proceso. Esto puede producir resultados
> > inesperados y difíciles de reproducir. Por eso mejor usa el comando
> > 'timeout'.
> >
> >
> > -- 
> > Eduardo Alan Bustamante López
> >
> 
> 1 millón de gracias, lo probé con "timeout 60 copydat parametro1, 
> parametro2" y funcionó perfecto.
> 
> copydat es la aplicación que voy a correr la cual hice con Lazarus
> 
> Gracias a todos los que me ayudaron. Son cosas que voy cogiendo ya que yo lo 
> que me dedico es a programar.

en serio??
y tanto te costaba crear un thread con un watchdog de 8 horas??

> ========
> | ISMAEL |
> ========
> 
> 
> 
> -- 
> To UNSUBSCRIBE, email to debian-user-spanish-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> Archive: A688A13C1A4144AFA14A4C3DD9735AAD@natio.co.cu">https://lists.debian.org/A688A13C1A4144AFA14A4C3DD9735AAD@natio.co.cu
> 


-- 
Angel Claudio Alvarez <angel@angel-alvarez.com.ar>


Reply to: