CreoleLock
CreoleLock est un utilitaire permettant de placer, enlever ou vérifier les verrous Creole.
Il peut gérer plusieurs niveaux de verrouillage distincts (--level
) :
normal, c'est un verrou isolé pour une application simple (
--level=normal
) ;
system, contrairement au mode normal les verrous de niveau system (
--level=system
) sont exclusifs, dès qu'une application pose un verrou de niveau system, les autres applications pourront le savoir.
La plupart des outils de base EOLE utilisent le niveau system.
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.
Exemple
Si le reconfigure se retrouve bloqué avec un message d'erreur ressemblant à A system lock is already set by another process: /var/lock/eole/eole-system/reconfigure.xxxx
, il est possible de supprimer proprement le verrou à l'aide de la commande suivante :
# CreoleLock release --name reconfigure --level=system
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]