Impostazione del timeout per i lavori cron


11

Ubuntu Linux cron (Vixie cron?) Supporta l'impostazione del timeout per i suoi lavori?

In particolare, il processo verrebbe interrotto dopo X secondi, a meno che non si concluda correttamente entro quel momento.

Ho avuto alcuni casi in cui le attività sono state sospese a causa della connettività di rete e vari problemi. Il processo è sospeso per sempre a meno che tu non li ripulisca manualmente e li uccida.

Risposte:


26

Su Ubuntu esiste il timeout del comando , che fa parte di coreutils. Puoi usarlo in questo modo per impostare un timeout. Le versioni precedenti di Debian / Ubuntu non compilavano e includevano questo comando, ma esiste un timeoutpacchetto comparabile che è possibile installare.

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

3
La durata può anche avere un suffisso ("s" per secondi, "m" per minuti, "h" per ore e "d" per giorni). Quindi, per una migliore leggibilità, quanto sopra potrebbe anche essere scritto come 47 * * * * root / usr / bin / timeout 40m / usr / bin / puppet agent ...
smoove666

No non può. almeno non con l'implementazione che ho avuto quando ho scritto questa domanda. La nuova versione in coreutils ha il suffisso s. La versione che avevo sui sistemi Debian precedenti non lo faceva.
Zoredache,

-2

Non penso sia possibile. Dovrai compilare il controllo nella tua applicazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.