que - ¿Cómo limitar el tiempo de ejecución del script de shell?
shell script (2)
Estoy respondiendo solo porque nadie respondió.
0 * * * * timeout -s 9 3540 /path/to/your_command.sh
enviará un SIGINT a su comando si no se completó en 59 minutos.
Tengo un trabajo cron programado (que en realidad es un script de shell). Me gustaría limitar el tiempo de ejecución del script ya que puede funcionar inaceptablemente largo. Por algún motivo, no puedo limitar el tiempo de ejecución del script desde dentro del script. En realidad, quiero que mi sistema fuerce la terminación de la tarea si se ejecuta más de N horas. Por favor avise.
Usar un -s 9 es un poco extremo ya que no permite que el proceso realice ninguna limpieza. Sí, matará el proceso si se puede matar, pero> 90% del tiempo a -s 1, que solicita una suspensión elegante, será suficiente.