:linux: #bash
Je copie-colle cette astuce simple, ça peut rendre service: Deux lignes pour empêcher le lancement simultané de scripts shells. Vous pouvez aussi partager le nom du lock entre plusieurs scripts pour éviter qu'ils soient lancés en même temps.
exec 200>"/tmp/MonSuperVerrou.lock"
flock -n 200 || { echo "Une autre instance du script est en cours d'exécution."; read; exit 1; }
Le lock est automatiquement détruit quand le script se termine (normalement ou plantage).