FLOCK(1) | Comenzi utilizator | FLOCK(1) |
NUME
flock - gestionează blocările din scripturi shell
REZUMAT
flock [opțiuni] fișier|director comanda [argumente]
flock [opțiuni] fișier|director -c comanda
flock [opțiuni] număr
DESCRIERE
Această utilitate gestionează blocările flock(2) din cadrul scripturilor de tip shell sau din linia de comandă.
Prima și a doua dintre formele de mai sus învăluie blocarea în jurul executării unei comenzi, într-un mod similar cu su(1) sau newgrp(1). Acestea blochează un fișier sau un director specificat, care este creat (presupunând permisiunile corespunzătoare) dacă nu există deja. În mod implicit, în cazul în care blocarea nu poate fi obținută imediat, flock așteaptă până când blocarea este disponibilă.
Cea de-a treia formă utilizează un fișier deschis prin descriptorul de fișier număr. A se vedea exemplele de mai jos pentru a afla cum poate fi utilizat.
OPȚIUNI
-c, --command comanda
-E, --conflict-exit-code număr
-F, --no-fork
-e, -x, --exclusive
-n, --nb, --nonblock
-o, --close
-s, --shared
-u, --unlock
-w, --wait, --timeout secunde
--fcntl
Aceasta este disponibilă numai pe versiunile de nucleu >= 3.15.
--verbose
-h, --help
-V, --version
STARE DE IEȘIRE
Comanda utilizează valorile de stare de ieșire <sysexits.h> pentru orice lucru, cu excepția cazului în care se utilizează oricare dintre opțiunile -n sau -w, care raportează un eșec de achiziționare a blocării cu o stare de ieșire dată de opțiunea -E sau 1 în mod implicit. Starea de ieșire dată de -E trebuie să fie cuprinsă între 0 și 255.
Atunci când se utilizează varianta comanda și se execută comanda-copil, atunci starea de ieșire este cea a comenzii-copil.
NOTE
flock nu detectează blocajul blocării (deadlock). A se vedea flock(2) pentru detalii.
Unele sisteme de fișiere (de exemplu, NFS și CIFS) au o implementare limitată a flock(2) și este posibil ca «flock» să eșueze întotdeauna. Pentru detalii, consultați flock(2), nfs(5) și mount.cifs(8). În funcție de opțiunile de montare, «flock» poate eșua întotdeauna acolo.
EXEMPLE
Rețineți că „shell> ” din exemple este un prompt de linie de comandă.
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 fișier-blocare-locală echo 'a b c'
(; flock -n 9 || exit 1; # ... comenzi executate sub blocare ...; ) 9>/var/lock/fișierul-meu-de-blocare
[ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock -en "$0" "$0" "$@" || :
shell> exec 4<>/var/lock/fișierul-meu-de-blocare; shell> flock -n 4
AUTORI
H. Peter Anvin <hpa@zytor.com>
DREPTURI DE AUTOR
Drepturi de autor © 2003-2006 H. Peter Anvin. Acesta este un software liber; consultați sursa pentru condițiile de copiere. Nu există nicio garanție; nici măcar pentru COMERCIALIZARE sau ADECVARE LA UN SCOP PARTICULAR.
CONSULTAȚI ȘI
RAPORTAREA ERORILOR
Pentru rapoarte de eroare, folosiți sistemul de urmărire al erorilor https://github.com/util-linux/util-linux/issues.
DISPONIBILITATE
Comanda flock face parte din pachetul util-linux care poate fi descărcat de la Linux Kernel Archive https://www.kernel.org/pub/linux/utils/util-linux/.
2025-03-29 | util-linux 2.41 |