IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

with-lock-ex - Online nel cloud

Esegui con-lock-ex nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando with-lock-ex che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


with-lock-ex - archivio di file

SINOSSI


con-lock-ex -w|-q|-f file di blocco command args ...

DESCRIZIONE


with-lock-ex aprirà e bloccherà il file di blocco per la scrittura e quindi alimenterà il resto di
i suoi argomenti a exec(2); quando quel processo termina, fd verrà chiuso e il file
sbloccato automaticamente dal kernel.

Se il file non esiste viene creato, con i permessi rw per ogni classe utente per
che ha l'umask w.

VERSIONI


-w Attendi che il lucchetto sia disponibile.

-f Fail (stampa di un messaggio su stderr e uscita da 255) se il blocco non può essere acquisito
immediatamente perché ce l'ha un altro processo.

-q Non fare nulla in silenzio (ad esempio, esci da 0 invece di eseguire il processo specificato) se il
lock non può essere acquisito immediatamente perché ce l'ha un altro processo.

STALE SERRATURE


Il protocollo di blocco utilizzato non soffre di blocchi obsoleti. Se il blocco non può essere
acquisito, uno o più processi in esecuzione devono attualmente mantenere il blocco; se la serratura deve
essere liberati quei processi dovrebbero essere uccisi.

In nessun caso devono essere istituiti cron job di "pulizia serrature obsolete" o simili.
Nei sistemi in cui possono esistere molti blocchi, i vecchi file di blocco possono essere rimossi da cron ma
solo se ogni lock viene acquisito prima della rimozione del lockfile, ad esempio con

con-lock-ex -q file di blocco rm file di blocco

DEADLOCK


Non c'è rilevamento del deadlock. In un sistema con più blocchi, una gerarchia di blocchi dovrebbe
essere stabilito, in modo che per ogni coppia di serrature A ed B che un processo potrebbe bloccare
contemporaneamente, sia A>B or B>A dove la relazione > è transitiva e non ciclica.

Quindi, per ogni due serrature X ed Y con X>Y è vietato acquisire X mentre si tiene Y.
Invece, acquisisci X prima, o rilasciare Y prima di (ri)acquisire X ed Y in questo ordine.

(Ci sono modi più complicati per evitare i deadlock, ma una gerarchia di lock è semplice da
comprendere e attuare. Se non soddisfa le tue esigenze, consulta la letteratura.)

BLOCCAGGIO PROTOCOLLO


Il protocollo di blocco utilizzato da con-lock-ex è il seguente:

Il blocco è mantenuto da un processo (o gruppo di processi) che contiene un blocco esclusivo fcntl
sul primo byte del file normale che ha il nome specificato. Un detentore della serratura
(e solo un detentore del lock) può cancellare il file o cambiare l'inode a cui il nome
fa riferimento, e non appena lo fa cessa di tenere il lucchetto.

Qualsiasi processo può creare il file se non esiste. Non è necessario che il file
contenere dati reali. In effetti, l'utilizzo del file per l'archiviazione dei dati è fortemente
sconsigliato, poiché ciò precluderà la maggior parte delle strategie per un aggiornamento affidabile. Usare un
lockfile separato invece.

La possibilità di ottenere il blocco corrisponde al permesso di scrittura sul file (e ovviamente
permesso di creare il file, se non esiste già). Tuttavia, i processi con
solo il permesso di lettura sul file può impedire del tutto l'acquisizione del blocco; perciò
i file di blocco di solito non dovrebbero essere leggibili da tutti.

Quando un (gruppo di) processi desidera acquisire il blocco, dovrebbe aprire il file (con
O_CREA) e bloccarlo con fctl(2) F_RWLCK, operazione F_SETLK or F_SETLKW. Se questo
ha successo, dovrebbe fstat il descrittore di file che ha e il file dal suo percorso. Se la
device e inode corrispondono allora il lock è stato acquisito e rimane acquisito fino a quel momento
gruppo di processi cambia il file a cui fa riferimento il nome, elimina il file o rilascia
il blocco fcntl. In caso contrario, un altro processo ha acquisito il blocco e ha eliminato il
file nel frattempo; ora devi chiudere il descrittore di file e ricominciare. con-lucchetto-
ex segue questa specifica.

Si noti che gregge(2) è un diverso tipo di serratura a fctl(2). con-lock-ex usa fctl.

Utilizzare con-lock-ex online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

  • 1
    libjpeg-turbo
    libjpeg-turbo
    libjpeg-turbo è un codec di immagine JPEG
    che utilizza istruzioni SIMD (MMX, SSE2,
    NEON, AltiVec) per accelerare la linea di base
    Compressione e decompressione JPEG attiva
    x86, x8...
    Scarica libjpeg-turbo
  • 2
    Xtreme Download Manager
    Xtreme Download Manager
    Il progetto ha ora una nuova casa:
    https://xtremedownloadmanager.com/ For
    sviluppatori:
    https://github.com/subhra74/xdm Xtreme
    Download Manager è un potente strumento per...
    Scarica Xtreme Download Manager
  • 3
    TTGO VGA32 Lite
    TTGO VGA32 Lite
    Caratteristiche:4:3 e 16:9 a bassa risoluzione
    Uscita VGATastiera e mouse PS/2
    interfaccia utente basata su inputText (TUI)
    con dialog manager Partial Unicode
    supportoSlave dis...
    Scarica TTGO VGA32 Lite
  • 4
    Bootloader EFI Clover
    Bootloader EFI Clover
    Il progetto si è spostato in
    https://github.com/CloverHackyColor/CloverBootloader..
    Caratteristiche: Avvia macOS, Windows e Linux
    in modalità UEFI o legacy su Mac o PC con
    UE...
    Scarica il bootloader Clover EFI
  • 5
    rpm uniti
    rpm uniti
    Unisciti a noi in Gitter!
    https://gitter.im/unitedrpms-people/Lobby
    Abilita il repository URPMS nel tuo
    sistema -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    Scarica unitedrpms
  • 6
    Potenzia le librerie C++
    Potenzia le librerie C++
    Boost fornisce portatile gratuito
    librerie C++ sottoposte a revisione paritaria. Il
    l'accento è posto sulle librerie portatili che
    funzionano bene con la libreria standard C++.
    Vedi http://www.bo...
    Scarica le librerie Boost C++
  • Di Più "

Comandi Linux

Ad