Ajouter un lock pour n'autoriser qu'une instance

Publié le 13/01/2026  Bash

En Bash, si on ne veut pouvoir lancer qu'une seule instance de programme, on peut mettre un verrou (lock) qui bloquer l'exécution si une autre instance est déjà lancée.
Pour cela, utiliser :
>
exec 9>/run/lock/SCRIPT.lock

if ! flock -n 9; then
    printf 'another instance is running\n';
    exit 1
fi

# Suite du script

rm -f /run/lock/SCRIPT.lock

Remplacer le fichier /run/lock/SCRIPT.lock par un nom représentatif.