.\" ----------------------------------------------------------------------- .\" .\" Copyright 2003-2006 H. Peter Anvin - All Rights Reserved .\" .\" Permission is hereby granted, free of charge, to any person .\" obtaining a copy of this software and associated documentation .\" files (the "Software"), to deal in the Software without .\" restriction, including without limitation the rights to use, .\" copy, modify, merge, publish, distribute, sublicense, and/or .\" sell copies of the Software, and to permit persons to whom .\" the Software is furnished to do so, subject to the following .\" conditions: .\" .\" The above copyright notice and this permission notice shall .\" be included in all copies or substantial portions of the Software. .\" .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, .\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES .\" OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND .\" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT .\" HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, .\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING .\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR .\" OTHER DEALINGS IN THE SOFTWARE. .\" .\" ----------------------------------------------------------------------- .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH FLOCK 1 "juillet 2014" util\-linux "Commandes utilisateur" .SH NOM flock \- Gérer des verrous depuis des scripts d'interpréteur .SH SYNOPSIS \fBflock\fP [\fIoptions\fP] \fIfichier\fP|\fIrépertoire commande\fP [\fIarguments\fP] .br \fBflock\fP [\fIoptions\fP] \fIfichier\fP|\fIrépertoire\fP \fB\-c\fP \fIcommande\fP .br \fBflock\fP [\fIoptions\fP] \fInuméro\fP .SH DESCRIPTION .PP Cet utilitaire gère les verrous \fBflock\fP(2) à partir de scripts d'interpréteur ou de la ligne de commande. .PP Les première et deuxième formes précédentes enveloppent l'exécution d'une \fIcommande\fP par un verrou, de façon similaire à \fBsu\fP(1) ou \fBnewgrp\fP(1). Elles verrouillent soit le \fIfichier\fP, soit le \fIrépertoire\fP indiqué, qui est créé (en supposant que vous ayez les droits adéquats) s'il n'existe pas déjà. Par défaut, si le verrou ne peut pas être obtenu immédiatement, \fBflock\fP attend jusqu’à ce que le verrou soit disponible. .PP La troisième forme utilise un fichier ouvert par son \fInuméro\fP de descripteur de fichier. Consultez les exemples suivants montrant comment l’utiliser. .SH OPTIONS .TP \fB\-c\fP, \fB\-\-commande\fP \fIcommande\fP Passer une seule \fIcommande\fP, sans argument, à l’interpréteur de commandes avec \fB\-c\fP. .TP \fB\-E\fP, \fB\-\-conflict\-exit\-code\fP \fInuméro\fP Le code de retour utilisé quand l’option \fB\-n\fP est utilisée et que le verrou en conflit existe, ou que l’option \fB\-w\fP est utilisée et que le délai est atteint. La valeur par défaut est \fB1\fP. .TP \fB\-e\fP, \fB\-x\fP, \fB\-\-exclusive\fP Obtenir un verrou exclusif, parfois appelé verrou en écriture. C'est l'option par défaut. .TP \fB\-n\fP, \fB\-\-nb\fP, \fB\-\-nonblock\fP Échouer plutôt qu’attendre si le verrou ne peut pas être obtenu immédiatement. Consultez l’option \fB\-E\fP pour le code de retour utilisé. .TP \fB\-o\fP, \fB\-\-close\fP Fermer le descripteur de fichier sur lequel le verrou est maintenu avant l'exécution de \fIcommande\fP. C'est utile si \fIcommande\fP lance un processus fils qui ne devrait pas détenir le verrou. .TP \fB\-s\fP, \fB\-\-shared\fP Obtenir un verrou partagé, parfois appelé verrou en lecture. .TP \fB\-u\fP, \fB\-\-unlock\fP 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. .TP \fB\-w\fP, \fB\-\-wait\fP, \fB\-\-timeout\fP \fIdélai\fP Échouer si le verrou ne peut pas être obtenu en \fIdélai\fP\ secondes. Les valeurs en fractions décimales sont permises. Consultez l’option \fB\-E\fP pour le code de retour utilisé. Un \fIdélai\fP nul est interprété comme \fB\-\-nonblock\fP. .TP \fB\-V\fP,\fB \-\-version\fP Afficher les informations sur la version et quitter. .TP \fB\-h\fP,\fB \-\-help\fP Afficher un texte d'aide puis quitter. .SH EXEMPLES .TP shell1> flock /tmp \-c cat .TQ shell2> flock \-w .007 /tmp \-c echo; /bin/echo $? Définir un verrou exclusif sur le répertoire \fI/tmp\fP et la seconde commande échouera. .TP shell1> flock \-s /tmp \-c cat .TQ shell2> flock \-s \-w .007 /tmp \-c echo; /bin/echo $? Définir un verrou partagé sur le répertoire \fI/tmp\fP et la seconde commande n’échouera pas. Remarquez que la tentative d’obtenir un verrou exclusif avec la seconde commande aurait échoué. .TP shell> flock \-x fichier\-verrou\-local echo 'a b c' Récupérer le verrou exclusif «\ fichier\-verrou\-local » avant d’exécuter echo avec 'a b c'. .TP ( .TQ flock \-n 9 || exit 1 .TQ # … commandes exécutées sous un verrou … .TQ ) 9>/var/lock/monfichierverrou Cette forme est pratique dans les scripts d’interpréteur de commandes. Le mode utilisé pour ouvrir le fichier n'est pas important pour \fBflock\fP\ ; utiliser \fB>\fP ou \fB>>\fP 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 \fB<\fP, le fichier doit déjà exister, mais seul le droit de lecture est nécessaire. .TP [ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock \-en "$0" "$0" "$@" || : C’est 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 \fB$FLOCKER\fP n’est pas définie pour le script d’interpréteur en cours d’exécution, alors \fBflock\fP 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 \fBFLOCKER\fP est aussi définie à la bonne valeur pour que le script ne s’exécute pas de nouveau. .SH "CODES DE RETOUR" La commande utilise les valeurs de retour de \fBsysexits.h\fP pour tout, sauf quand les options \fB\-n\fP ou \fB\-w\fP sont utilisées. Elles signalent un échec d’obtention du verrou avec une valeur de retour donnée par l’option \fB\-E\fP ou 1 par défaut. .PP En utilisant la variante \fIcommande\fP et que l’exécution de la fille a fonctionné, le code de retour est celui de la commande fille. .SH AUTEUR .UR hpa@zytor.com H. Peter Anvin .UE .SH COPYRIGHT Copyright \(co 2003\-2006 H. Peter Anvin. .br 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. .SH "VOIR AUSSI" \fBflock\fP(2) .SH DISPONIBILITÉ La commande \fBflock\fP fait partie du paquet util\-linux, elle est disponible sur .UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util\-linux/ l’archive du noyau Linux .UE . .SH TRADUCTION Cette page de manuel a été traduite et est maintenue par Lyes Zemmouche et les membres de la liste . Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages\-fr\-extra.