Quel est le moyen le plus simple/le plus efficace de s'assurer qu'une seule instance d'un script donné est en cours d'exécution - en supposant qu'il s'agisse de Bash sur Linux ?
En ce moment, je le fais :
ps -C script.name.sh > /dev/null 2>&1 || ./script.name.sh
mais il présente plusieurs problèmes :
- il met la vérification en dehors de script
- il ne me laisse pas exécuter le même script à partir de comptes séparés - ce que j'aimerais parfois.
-
-C
vérifie uniquement les 14 premiers caractères du nom du processus
Bien sûr, je peux écrire ma propre gestion du fichier pidfile, mais je sens qu'il devrait y avoir un moyen simple de le faire.