Empecher une double execution d'un script
Fermé
Bonjour,
J'ai un script titi.sh qui s'execute par un cron toutes les 10 minutes sur un serveur. De temps en temps, la durée d'execution de ce script peut dépasser les 10 minutes, et je souhaite faire en sorte que ce script ne s'execute pas quand il est déjà en cours d'execution.
J'ai essayé de mettre un PID dans un fichier, mais cela ne marche pas.
Y a-t-il moyen (sous solaris 9) de lancer un script en empechant le script de se rééxécuter tant qu'il n'a pas fini ?
Merci d'avance.
Gunther
J'ai un script titi.sh qui s'execute par un cron toutes les 10 minutes sur un serveur. De temps en temps, la durée d'execution de ce script peut dépasser les 10 minutes, et je souhaite faire en sorte que ce script ne s'execute pas quand il est déjà en cours d'execution.
J'ai essayé de mettre un PID dans un fichier, mais cela ne marche pas.
Y a-t-il moyen (sous solaris 9) de lancer un script en empechant le script de se rééxécuter tant qu'il n'a pas fini ?
Merci d'avance.
Gunther
A voir également:
- Empecher une double execution d'un script
- Double ecran - Guide
- Whatsapp double sim - Guide
- Script vidéo youtube - Guide
- Double appel - Guide
- Double authentification google - Guide
2 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
17 août 2007 à 16:27
17 août 2007 à 16:27
Salut,
as-tu essayer de tester le contenu de
ps aux | grep nomscript
et en fonction de résultat tu sors avec exit ou les commandes de ton script peuvent s'exécuter
enfin, c'est juste une idée, je n'ai ps testé
as-tu essayer de tester le contenu de
ps aux | grep nomscript
et en fonction de résultat tu sors avec exit ou les commandes de ton script peuvent s'exécuter
enfin, c'est juste une idée, je n'ai ps testé
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
17 août 2007 à 18:05
17 août 2007 à 18:05
Salut,
Tu peux aussi créer ce qu'on appelle un "verrou", autrement dit un répertoire (dans /tmp par exemple), au lancement de ton script (avec un test) et en fonction du code retour, exécuter ton script (et détruire le rep en fin de script) ou l'avorter.
Tu peux aussi créer ce qu'on appelle un "verrou", autrement dit un répertoire (dans /tmp par exemple), au lancement de ton script (avec un test) et en fonction du code retour, exécuter ton script (et détruire le rep en fin de script) ou l'avorter.
#!/bin/bash if mkdir /tmp/verrou.lock 2>/dev/null then cmd ... cmd ... rmdir /tmp/verrou.lock else echo "Script déjà en cours d'exécution." exit 3 fi;-))