EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

with-lock-ex - Online în cloud

Rulați cu-lock-ex în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda cu-lock-ex care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


with-lock-ex - dulap de fișiere

REZUMAT


cu-lacăt-ex -w|-q|-f lockfile comandă args ...

DESCRIERE


with-lock-ex va deschide și bloca fișierul de blocare pentru scriere și apoi va alimenta restul
argumentele sale la Exec(2); când acel proces se încheie, fd va fi închis și fișierul
deblocat automat de către nucleu.

Daca fisierul nu exista este creat, cu permisiuni rw pentru fiecare clasă de utilizatori pt
pe care o are umasca w.

OPŢIUNI


-w Așteptați ca încuietoarea să fie disponibilă.

-f Eșuează (tipărirea unui mesaj către stderr și ieșirea din 255) dacă blocarea nu poate fi obținută
imediat pentru că un alt proces o are.

-q Nu faceți nimic în tăcere (adică, ieșiți din 0 în loc să executați procesul specificat) dacă
blocarea nu poate fi achiziționată imediat, deoarece un alt proces o are.

STĂTUT BLOCĂRI


Protocolul de blocare utilizat nu suferă de încuietori învechite. Dacă încuietoarea nu poate fi
dobândite, unul sau mai multe procese care rulează trebuie să dețină blocarea; dacă încuietoarea trebuie
să fie eliberate, acele procese ar trebui să fie ucise.

În nicio circumstanță nu ar trebui să fie instituite joburi cron „curățător încuietori învechite” sau altele asemenea.
În sistemele în care pot exista o mulțime de blocări, fișierele de blocare vechi pot fi eliminate din cron dar
numai dacă fiecare blocare este obținută înainte ca fișierul de blocare să fie eliminat, de exemplu cu

cu-lacăt-ex -q lockfile rm lockfile

IMPACTE


Nu există nicio detectare a blocajului. Într-un sistem cu mai multe blocări, ar trebui să existe o ierarhie de blocare
să fie stabilite, astfel încât pentru fiecare pereche de încuietori A și B pe care un proces s-ar putea bloca
simultan, fie A>B or B>A unde relaţia > este tranzitivă şi neciclică.

Apoi, pentru oricare două încuietori X și Y cu X>Y este interzisă dobândirea X în timp ce ține Y.
În schimb, dobândește X mai întâi, sau eliberați Y înainte de (re)dobândire X și Y în această ordine.

(Există modalități mai complicate de a evita blocajele, dar o ierarhie de blocare este ușor de
intelege si implementeaza. Dacă nu corespunde nevoilor dumneavoastră, consultați literatura.)

BLOCARE PROTOCOL


Protocolul de blocare folosit de cu-lacăt-ex este după cum urmează:

Blocarea este deținută de un proces (sau un grup de procese) care deține o blocare exclusivă fcntl
pe primul octet al fișierului simplu care are numele specificat. Un deținător al lacătului
(și numai un deținător al lacătului) poate șterge fișierul sau schimba inodul la care se numește
se referă și, de îndată ce face acest lucru, încetează să țină încuietoarea.

Orice proces poate crea fișierul dacă acesta nu există. Nu este nevoie ca fișierul
conțin orice date reale. Într-adevăr, utilizarea fișierului pentru stocarea datelor este puternică
nu este recomandat, deoarece acest lucru va exclude majoritatea strategiilor de actualizare fiabilă. Folosește o
în schimb, fișierul de blocare separat.

Capacitatea de a obține blocarea corespunde cu permisiunea de scriere pe fișier (și desigur
permisiunea de a crea fișierul, dacă acesta nu există deja). Cu toate acestea, procesele cu
numai permisiunea de citire a fișierului poate împiedica deloc obținerea blocării; prin urmare
fișierele de blocare nu ar trebui să fie, de obicei, lizibile în întreaga lume.

Când un (grup de) procese dorește să obțină blocarea, ar trebui să deschidă fișierul (cu
O_CREAT) și blocați-l cu fcntl(2) F_RWLCK, Operațiune F_SETLK or F_SETLKW. Dacă aceasta
reușește, ar trebui să fstat descriptorul de fișier pe care îl are și fișierul după calea acestuia. Dacă
dispozitivul și inodul se potrivesc, atunci blocarea a fost achiziționată și rămâne dobândită până atunci
grupul de procese modifică fișierul la care se referă numele, șterge fișierul sau eliberează
încuietoarea fcntl. Dacă nu o fac, atunci un alt proces a obținut blocarea și a șters
dosar intre timp; acum trebuie să închideți filedescriptorul și să începeți din nou. cu-lacăt-
ex urmează această specificație.

Rețineți că turmă(2) este un alt tip de lacăt față de fcntl(2). cu-lacăt-ex utilizări fcntl.

Utilizați with-lock-ex online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

Comenzi Linux

Ad