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]