Establecer tiempo de espera para trabajos cron


11

¿Ubuntu Linux cron (Vixie cron?) Admite la configuración del tiempo de espera para sus trabajos?

Específicamente, el proceso finalizaría después de X segundos a menos que finalice con éxito para entonces.

He tenido algunos casos donde las tareas se han suspendido debido a la conectividad de la red y varios problemas. El proceso se deja para siempre, a menos que los limpie y mate manualmente.

Respuestas:


26

En Ubuntu, el tiempo de espera del comando existe, que es parte de coreutils. Puede usarlo así para establecer un tiempo de espera. Las versiones anteriores de Debian / Ubuntu no se compilaron e incluyeron este comando, pero hay un timeoutpaquete comparable que puede instalar.

# puppet shouldn't take more then 40 minutes!
47 * * * * root /usr/bin/timeout 2400 /usr/bin/puppet agent ...

3
La duración también puede tener un sufijo ("s" por segundos, "m" por minutos, "h" por horas y "d" por días). Entonces, para una mejor legibilidad, lo anterior también podría escribirse como 47 * * * * root / usr / bin / timeout 40m / usr / bin / puppet agent ...
smoove666

No, no puede. al menos no con la implementación que tuve al escribir esta pregunta. La nueva versión en coreutils tiene el sufijo s. La versión que tenía en sistemas Debian más antiguos no.
Zoredache

-2

No creo que esto sea posible. Tendrá que incorporar el cheque en su aplicación.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.