Réponses:
Essayez la timeoutcommande. Par exemple:
0 * * * * timeout -2 3540 /path/to/your_command.sh
enverra un SIGINT à votre commande s'il ne s'est pas terminé dans 59 minutes.
usage: timeout [-signal] time command...
timeout: /usr/bin/timeout
Nan. La façon dont nous le faisons est de créer un script avec un fichier de verrouillage et de faire vérifier ce fichier de verrouillage avant de recommencer, afin qu'il puisse vérifier s'il est déjà en cours d'exécution et décider s'il s'exécute, s'il attend que l'autre fin ou s'il tue l'autre avant de courir.
Un fichier de verrouillage est simplement un fichier vide ou un fichier avec l'autre script PIDenregistré quelque part comme /var/runou /var/lock.