table of contents
FLOCK(1) | Commandes de lutilisateur | FLOCK(1) |
NOM¶
flock - Gérer des verrous depuis des scripts d'interpréteur
SYNOPSIS¶
flock [options] file|directory command [arguments]
flock [options] file|directory -c command
flock [options] number
DESCRIPTION¶
Cet utilitaire gère les verrous flock(2) à partir de scripts d’interpréteur ou de la ligne de commande.
Les première et deuxième formes précédentes enveloppent l’exécution d’une commande par un verrou, de façon similaire à su(1) ou newgrp(1). Elles verrouillent soit le fichier, soit le répertoire 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, flock attend jusqu’à ce que le verrou soit disponible.
La troisième forme utilise un fichier ouvert par son numéro de descripteur de fichier. Consultez les exemples suivants montrant comment l’utiliser.
OPTIONS¶
-c, --command commande
-E, --conflict-exit-code numéro
-F, --no-fork
-e, -x, --exclusive
-n, --nb, --nonblock
-o, --close
-s, --shared
-u, --unlock
-w, --wait, --timeout délai
--verbose
-h, --help
-V, --version
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 0 et 255.
En utilisant la variante commande et si l’exécution de l’enfant a fonctionné, le code de retour est celui de la commande enfant.
NOTES¶
flock does not detect deadlock. See flock(2) for details.
Some file systems (e. g. NFS and CIFS) have a limited implementation of flock(2) and flock may always fail. For details see flock(2), nfs(5) and mount.cifs(8). Depending on mount options, flock can always fail there.
EXEMPLES¶
Notez que « shell> » dans les exemples ci-dessous est une invite de commande.
shell1> flock /tmp -c cat; shell2> flock -w .007 /tmp -c echo; /bin/echo $?
shell1> flock -s /tmp -c cat; shell2> flock -s -w .007 /tmp -c echo; /bin/echo $?
shell> flock -x fichier_verrou_local echo 'a b c'
(; flock -n 9 || exit 1; # ... commandes exécutées sous un verrou ...; ) 9>/var/lock/mon_fichier_verrou
[ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock -en "$0" "$0" "$@" || :
shell> exec 4<>/var/lock/mon_fichier_verrou; shell> flock -n 4
AUTEURS¶
H. Peter Anvin <hpa@zytor.com>
COPYRIGHT¶
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¶
SIGNALER DES BOGUES¶
Pour signaler un bogue, utilisez le gestionnaire de bogues sur <https://github.com/util-linux/util-linux/issues>.
DISPONIBILITɶ
La commande flock fait partie du paquet util-linux, elle est disponible sur l’archive du noyau Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.
2024-10-01 | util-linux 2.40.2 |