.\" -*- coding: UTF-8 -*- '\" t .\" Title: flock .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.15 .\" Date: 2022-05-11 .\" Manual: User Commands .\" Source: util-linux 2.38.1 .\" Language: English .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH FLOCK 1 "11 mai 2022" "util\-linux 2.38.1" "Commandes de l'utilisateur" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH NOM flock \- Gérer des verrous depuis des scripts d'interpréteur .SH SYNOPSIS .sp \fBflock\fP [options] \fIfichier\fP|\fIrépertoire commande\fP [\fIarguments\fP] .sp \fBflock\fP [options] \fIfichier\fP|\fIrépertoire\fP \fB\-c\fP \fIcommande\fP .sp \fBflock\fP [options] \fInuméro\fP .SH DESCRIPTION .sp Cet utilitaire gère les verrous \fBflock\fP(2) à partir de scripts d'interpréteur ou de la ligne de commande. .sp 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. .sp 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 .sp \fB\-c\fP, \fB\-\-command\fP \fIcommande\fP .RS 4 Passer une seule \fIcommande\fP, sans argument, à l’interpréteur de commandes avec \fB\-c\fP. .RE .sp \fB\-E\fP, \fB\-\-conflict\-exit\-code\fP \fInuméro\fP .RS 4 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. Le \fInuméro\fP doit être compris entre \fB0\fP et \fB255\fP. .RE .sp \fB\-F\fP, \fB\-\-no\-fork\fP .RS 4 Ne pas forker avant d'exécuter \fIcommande\fP. Pendant l'exécution, le processus \fBflock\fP est remplacé par \fIcommande\fP qui garde le verrou. Cette option est incompatible avec \fB\-\-close\fP, sans quoi plus rien ne conserverait le verrou. .RE .sp \fB\-e\fP, \fB\-x\fP, \fB\-\-exclusive\fP .RS 4 Obtenir un verrou exclusif, parfois appelé verrou en écriture. C'est l'option par défaut. .RE .sp \fB\-n\fP, \fB\-\-nb\fP, \fB\-\-nonblock\fP .RS 4 É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é. .RE .sp \fB\-o\fP, \fB\-\-close\fP .RS 4 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 enfant qui ne devrait pas détenir le verrou. .RE .sp \fB\-s\fP, \fB\-\-shared\fP .RS 4 Obtenir un verrou partagé, parfois appelé verrou en lecture. .RE .sp \fB\-u\fP, \fB\-\-unlock\fP .RS 4 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. .RE .sp \fB\-w\fP, \fB\-\-wait\fP, \fB\-\-timeout\fP \fIdélai\fP .RS 4 É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. .RE .sp \fB\-\-verbose\fP .RS 4 Renvoyer la durée d'acquisition du verrou ou la raison pour laquelle il n'a pas pu être obtenu. .RE .sp \fB\-h\fP, \fB\-\-help\fP .RS 4 Afficher l’aide\-mémoire puis quitter. .RE .sp \fB\-V\fP, \fB\-\-version\fP .RS 4 Afficher la version puis quitter. .RE .SH "CODE DE RETOUR" .sp La commande utilise les valeurs de code de retour de \fBsysexits.h\fP pour tout, sauf avec les options \fB\-n\fP ou \fB\-w\fP, qui signalent un échec d’obtention du verrou avec un code de retour donné par l’option \fB\-E\fP ou avec \fB1\fP par défaut. Le code de retour donné par \fB\-E\fP doit être compris entre \fB0\fP et \fB255\fP. .sp En utilisant la variante \fIcommande\fP et si l’exécution de l’enfant a fonctionné, le code de retour est celui de la commande enfant. .SH NOTES .sp \fBflock\fP ne détecte pas les blocages. Consultez \fBflock\fP(2) pour des détails. .sp Certains systèmes de fichiers (par exemple NFS et CIFS) n'ont qu'une implémentation limitée de \fBflock\fP(2) et flock peut échouer systématiquement. Consultez \fBflock\fP(2), \fBnfs\fP(5) et \fBmount.cifs\fP(8) pour des détails. Selon les options de montage, flock peut y échouer tout le temps. .SH EXEMPLES .sp Notez que «\ shell>\ » dans les exemples ci\-dessous est une invite de commande. .sp shell1> flock /tmp \-c cat; shell2> flock \-w .007 /tmp \-c echo; /bin/echo $? .RS 4 Définir un verrou exclusif sur le répertoire \fI/tmp\fP et la seconde commande échouera. .RE .sp shell1> flock \-s /tmp \-c cat; shell2> flock \-s \-w .007 /tmp \-c echo; /bin/echo $? .RS 4 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é. .RE .sp shell> flock \-x fichier_verrou_local echo \(aqa b c\(aq .RS 4 Récupérer le verrou exclusif «\ fichier_verrou_local\ » avant d’exécuter echo avec \(aqa b c\(aq. .RE .sp (; flock \-n 9 || exit 1; # ... commandes exécutées sous un verrou ...; ) 9>/var/lock/mon_fichier_verrou .RS 4 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. .RE .sp [ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock \-en "$0" "$0" "$@" || : .RS 4 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 \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. .RE .sp shell> exec 4<>/var/lock/mon_fichier_verrou; shell> flock \-n 4 .RS 4 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 \fB4\fP, puis \fBflock\fP est utilisé pour verrouiller le descripteur. .RE .SH AUTEURS .sp .MTO hpa\(atzytor.com "H. Peter Anvin" "" .SH COPYRIGHT .sp 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. .SH "VOIR AUSSI" .sp \fBflock\fP(2) .SH "SIGNALER DES BOGUES" .sp Pour envoyer un rapport de bogue, utilisez le système de gestion des problèmes à l'adresse .URL https://github.com/util\-linux/util\-linux/issues "" . .SH DISPONIBILITÉ .sp La commande \fBflock\fP fait partie du paquet util\-linux, téléchargeable sur .URL https://www.kernel.org/pub/linux/utils/util\-linux/ "Linux Kernel Archive" . .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Michel Quercia , Thierry Vignaud , Frédéric Delanoy , Thierry Vignaud , Christophe Sauthier , Sébastien Blanchet, Jérôme Perzyna , Aymeric Nys , Alain Portal , Thomas Huriaux , Yves Rütschlé , Jean-Luc Coulon (f5ibh) , Julien Cristau , Philippe Piette , Jean-Baka Domelevo-Entfellner , Nicolas Haller , Sylvain Archenault , Valéry Perrin , Jade Alglave , Nicolas François , Alexandre Kuoch , Lyes Zemmouche , Florentin Duneau , Alexandre Normand , David Prévot et Jean-Philippe MENGUAL . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .