CreoleLock
CreoleLock est un utilitaire permettant de placer, enlever ou vérifier les verrous Creole.
Il peut gérer deux niveaux (level) de verrouillage distincts.
La plupart des outils de base EOLE utilisent de verrous de niveau "système".
Verrou "normal"
Ce type de verrou permet d'éviter qu'une même application soit exécutée deux fois en parallèle. Il s'agit donc d'un verrou isolé.
En mode normal (--level=normal
), les fichiers lock sont écrits dans le répertoire /var/lock/eole
et il est possible d'exécuter plusieurs applications différentes en même temps tant qu'elles ne posent pas un lock ayant le même nom.
Verrou "système"
Contrairement au mode normal, les verrous "système" (--level=system
) sont exclusifs. Cela permet d'éviter que deux applications concurrentes sont exécutées en même temps. Par exemple, il ne faut pas qu'un reconfigure soit exécuté en même temps qu'une sauvegarde : ces deux procédures utilisent des verrous "système".
Dans ce mode, mes fichiers lock sont écrits dans le sous-répertoire /var/lock/eole/eole-system
.
RemarqueNom d'un fichier lock
Poser un verrou avec CreoleLock
Pour poser un verrou nommé toto, la commande à taper est la suivante :
CreoleLock acquire --name toto
Si un verrou existe déjà, la commande affichera un message d'erreur et ne renverra pas le code 0
.
Vérifier la présence d'un verrou avec CreoleLock
Pour vérifier la présence du verrou nommé toto, la commande à taper est la suivante :
CreoleLock is_locked --name toto
Cette commande retournera le code 0
si le verrou est présent.
Supprimer un verrou avec CreoleLock
Pour supprimer un verrou nommé toto, la commande à taper est la suivante :
CreoleLock release --name toto
Cette commande retournera le code 0
en cas de succès.
Attention
Seul le programme (y compris la console si la commande est lancée en console) qui a posé le verrou a le droit de le supprimer.
API python
La librairie pyeole.lock
permet de gérer les verrous Creole directement en python.
Elle fournit notamment les fonctions acquire
, is_locked
et release
.
Truc & astuce
L'option -h
permet d'afficher les paramètres de la commande CreoleLock :
# CreoleLock -h
usage: /usr/bin/CreoleLock [acquire|release|is_locked] [options|--help]