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 -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20140401172126.ga6...@dualbus.me