NOM
flock - Gérer des verrous depuis des scripts d'interpréteurSYNOPSIS
flock [options] fichier|répertoire commande [arguments]DESCRIPTION
Cet utilitaire gère les verrous flock(2) à partir de scripts d'interpréteur ou de la ligne de commande.OPTIONS
-c, --command commandePasser une seule commande, sans
argument, à l’interpréteur de commandes avec
-c.
Le code de retour utilisé quand
l’option -n est utilisée et que le verrou en conflit
existe, ou que l’option -w est utilisée et que le
délai est atteint. La valeur par défaut est 1. Le
numéro doit être compris entre 0 et
255.
Ne pas forker avant d'exécuter
commande. Pendant l'exécution, le processus flock est
remplacé par commande qui garde le verrou. Cette option est
incompatible avec --close, sans quoi plus rien ne conserverait le
verrou.
Obtenir un verrou exclusif, parfois
appelé verrou en écriture. C'est l'option par
défaut.
Échouer plutôt
qu’attendre si le verrou ne peut pas être obtenu
immédiatement. Consultez l’option -E pour le code de
retour utilisé.
Fermer le descripteur de fichier sur lequel le
verrou est maintenu avant l'exécution de commande. C'est utile
si commande lance un processus enfant qui ne devrait pas détenir
le verrou.
Obtenir un verrou partagé, parfois
appelé verrou en lecture.
Supprimer un verrou. Ce n'est
généralement pas nécessaire, puisqu'un verrou est
automatiquement supprimé lorsque le fichier est fermé.
Cependant, il peut être nécessaire dans des cas particuliers,
par exemple si le groupe de commandes inclus a engendré un processus en
arrière-plan qui ne devrait pas détenir le verrou.
Échouer si le verrou ne peut pas
être obtenu en délai secondes. Les valeurs en
fractions décimales sont permises. Consultez l’option -E
pour le code de retour utilisé. Un délai nul est
interprété comme --nonblock.
Renvoyer la durée d'acquisition du
verrou ou la raison pour laquelle il n'a pas pu être obtenu.
Afficher l’aide-mémoire puis
quitter.
Afficher la version puis quitter.
CODE DE RETOUR
La commande utilise les valeurs de code de retour de sysexits.h pour tout, sauf avec les options -n ou -w, qui signalent un échec d’obtention du verrou avec un code de retour donné par l’option -E ou avec 1 par défaut. Le code de retour donné par -E doit être compris entre 0 et 255.NOTES
flock ne détecte pas les blocages. Consultez flock(2) pour des détails.EXEMPLES
Notez que « shell> » dans les exemples ci-dessous est une invite de commande.Définir un verrou exclusif sur le
répertoire /tmp et la seconde commande échouera.
Définir un verrou partagé sur le
répertoire /tmp et la seconde commande n’échouera
pas. Remarquez que la tentative d’obtenir un verrou exclusif avec la
seconde commande aurait échoué.
Récupérer le verrou exclusif
« fichier_verrou_local » avant
d’exécuter echo avec 'a b c'.
Cette forme est pratique dans les scripts
d’interpréteur de commandes. Le mode utilisé pour ouvrir
le fichier n'est pas important pour flock ; utiliser >
ou >> permet de créer le fichier de verrouillage s'il
n'existe pas déjà, cependant, le droit d'écriture est
nécessaire. En utilisant <, le fichier doit
déjà exister, mais seul le droit de lecture est
nécessaire.
Voici un code passe-partout utile pour les
scripts d’interpréteur. Placez-le au début du script
d’interpréteur que vous voulez verrouiller et il se verrouillera
lui-même automatiquement lors de la première exécution.
Si la variable d’environnement $FLOCKER n’est pas
définie pour le script d’interpréteur en cours
d’exécution, alors flock est exécuté et un
verrou non bloquant exclusif est récupéré (en utilisant
le script lui-même comme fichier de verrouillage) avant que le script
ne s’exécute de nouveau avec les bons arguments. La variable
d’environnement FLOCKER est aussi définie à la
bonne valeur pour que le script ne s’exécute pas de
nouveau.
Cette forme est pratique pour verrouiller un
fichier sans engendrer un sous-processus. L'interpréteur ouvre le
fichier verrou en lecture et en écriture en tant que descripteur de
fichier 4, puis flock est utilisé pour verrouiller le
descripteur.
AUTEURS
H. <[email protected]>PeterCOPYRIGHT
Copyright © 2003-2006 H. Peter Anvin. C'est un logiciel libre ; consultez les sources pour les conditions de copie. Il n'y a AUCUNE garantie ; même pas de VALEUR MARCHANDE ou d'ADÉQUATION À UNE UTILISATION PARTICULIÈRE.VOIR AUSSI
flock(2)SIGNALER DES BOGUES
Pour envoyer un rapport de bogue, utilisez le système de gestion des problèmes à l'adresse <https://github.com/util-linux/util-linux/issues>.DISPONIBILITÉ
La commande flock fait partie du paquet util-linux, téléchargeable sur Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <[email protected]>, Michel Quercia <quercia AT cal DOT enst DOT fr>, Thierry Vignaud <[email protected]>, Frédéric Delanoy <[email protected]>, Thierry Vignaud <[email protected]>, Christophe Sauthier <[email protected]>, Sébastien Blanchet, Jérôme Perzyna <[email protected]>, Aymeric Nys <aymeric AT nnx POINT com>, Alain Portal <[email protected]>, Thomas Huriaux <[email protected]>, Yves Rütschlé <[email protected]>, Jean-Luc Coulon (f5ibh) <[email protected]>, Julien Cristau <[email protected]>, Philippe Piette <[email protected]>, Jean-Baka Domelevo-Entfellner <[email protected]>, Nicolas Haller <[email protected]>, Sylvain Archenault <[email protected]>, Valéry Perrin <[email protected]>, Jade Alglave <[email protected]>, Nicolas François <[email protected]>, Alexandre Kuoch <[email protected]>, Lyes Zemmouche <[email protected]>, Florentin Duneau <[email protected]>, Alexandre Normand <[email protected]>, David Prévot <[email protected]> et Jean-Philippe MENGUAL <[email protected]> Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à [email protected]11 mai 2022 | util-linux 2.38.1 |