Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

with-lock-ex — online w chmurze

Uruchom with-lock-ex u dostawcy bezpłatnego hostingu OnWorks przez Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

Jest to polecenie z-lock-ex, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu darmowych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

PROGRAM:

IMIĘ


with-lock-ex - szafka na pliki

STRESZCZENIE


z-lock-ex -w|-q|-f plik blokady komenda args ...

OPIS


with-lock-ex otworzy i zablokuje plik blokady do zapisu, a następnie załaduje pozostałą część
jego argumenty, aby… exec(2); kiedy ten proces się zakończy, fd zostanie zamknięty, a plik
odblokowywany automatycznie przez jądro.

Jeśli plik nie istnieje, jest tworzony z uprawnieniami rw dla każdej klasy użytkownika dla
które ma umask w.

OPCJE


-w Poczekaj, aż zamek będzie dostępny.

-f Niepowodzenie (wydrukowanie wiadomości na stderr i wyjście z 255), jeśli nie można uzyskać blokady
natychmiast, ponieważ ma to inny proces.

-q Po cichu nic nie rób (tj. zakończ 0 zamiast wykonywania określonego procesu), jeśli
blokady nie można uzyskać natychmiast, ponieważ posiada ją inny proces.

NIEŚWIEŻY ZAMKI


Używany protokół blokowania nie ma przestarzałych blokad. Jeśli zamek nie może być
nabyte, jeden lub więcej uruchomionych procesów musi aktualnie blokować; jeśli zamek musi
być uwolnionym, te procesy powinny zostać zabite.

W żadnym wypadku nie należy wprowadzać zadań crona do czyszczenia zamków, lub tym podobnych.
W systemach, w których może istnieć bardzo wiele blokad, stare pliki blokad mogą zostać usunięte z crona, ale
tylko jeśli każda blokada jest pobierana przed usunięciem pliku blokady, na przykład za pomocą

z-lock-ex -q plik blokady rm plik blokady

ZAMKNIĘCIA


Nie ma wykrywania zakleszczeń. W systemie z kilkoma blokadami hierarchia blokad powinna:
ustalić, aby dla każdej pary zamków A i B które proces może zablokować
jednocześnie, albo A>B or B>A gdzie relacja > jest przechodnia i niecykliczna.

Następnie dla dowolnych dwóch zamków X i Y w X>Y zabronione jest nabywanie X podczas trzymania Y.
Zamiast tego zdobądź X pierwszy lub uwolnij Y przed (ponownym) nabyciem X i Y w tej kolejności.

(Istnieją bardziej skomplikowane sposoby unikania zakleszczeń, ale hierarchia blokad jest prosta do
zrozumieć i wdrożyć. Jeśli nie spełnia Twoich potrzeb, zapoznaj się z literaturą.)

ZAMYKANIE PROTOKÓŁ


Protokół blokowania używany przez z-lock-ex jest następujący:

Blokada jest utrzymywana przez proces (lub grupę procesów), który posiada wyłączną blokadę fcntl
na pierwszym bajcie zwykłego pliku, który ma określoną nazwę. Posiadacz zamka
(i tylko posiadacz blokady) może usunąć plik lub zmienić i-węzeł, do którego ma nazwę
odnosi się, a gdy tylko to zrobi, przestaje trzymać zamek.

Każdy proces może utworzyć plik, jeśli nie istnieje. Nie ma potrzeby, aby plik
zawierać rzeczywiste dane. Rzeczywiście, faktyczne użycie pliku do przechowywania danych jest zdecydowanie
odradzane, ponieważ wyklucza to większość strategii niezawodnej aktualizacji. Użyć
zamiast tego oddzielny plik blokady.

Możliwość uzyskania blokady odpowiada prawu do zapisu w pliku (i oczywiście
uprawnienia do tworzenia pliku, jeśli jeszcze nie istnieje). Jednak procesy z
tylko uprawnienia do odczytu pliku mogą w ogóle uniemożliwić uzyskanie blokady; dlatego
pliki blokujące zwykle nie powinny być czytelne dla całego świata.

Kiedy (grupa) procesów chce uzyskać blokadę, powinien otworzyć plik (z
O_TWÓRZ) i zablokuj go za pomocą fcntl(2) F_RWLCK, operacja F_SETLK or F_SETLKW. Jeśli to
powiedzie się, powinien sprawdzić deskryptor pliku, który ma, i plik według jego ścieżki. Jeśli
urządzenie i i-węzeł pasują do siebie, blokada została nabyta i pozostaje nabyta do tego czasu
grupa procesów zmienia plik, do którego odnosi się nazwa, usuwa plik lub zwalnia
blokada Fcntl. Jeśli nie, inny proces przejął blokadę i usunął
złożyć w międzyczasie; musisz teraz zamknąć deskryptor pliku i zacząć od nowa. z zamkiem
ex jest zgodny z tą specyfikacją.

Należy pamiętać, że Trzódka(2) to inny rodzaj zamka do fcntl(2). z-lock-ex zastosowania fcntl.

Używaj z-lock-ex online za pomocą usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

Komendy systemu Linux

Ad