| FLOCK(1) | Användarkommandon | FLOCK(1) |
NAMN¶
flock - hantera lås från skalskript
SYNOPSIS¶
flock [flaggor] fil|katalog kommando [arguments]
flock [flaggor] fil|katalog -c kommando
flock [flaggor] nummer
BESKRIVNING¶
Detta verktyg hanterar flock(2)-lås inifrån skalskript eller från kommandoraden.
Den första och andra av ovanstående former låser utförandet av ett kommando, på ett sätt som liknar su(1) eller newgrp(1). De låser en angiven fil eller katalog, som skapas (med lämpliga behörigheter) om den inte redan finns. Om låset inte kan förvärvas omedelbart väntar flock som standard tills låset är tillgängligt.
Den tredje formen använder en öppen fil med dess filbeskrivare nummer. Se exemplen nedan för hur det kan användas.
FLAGGOR¶
-c, --command kommando
-E, --conflict-exit-code nummer
-F, --no-fork
-e, -x, --exclusive
-n, --nb, --nonblocking
-o, --close
-s, --shared
-u, --unlock
-w, --wait, --timeout seconds
--fcntl
Detta är endast tillgängligt för kärnversioner >= 3.15.
--start offset
--length number
--verbose
-h, --help
-V, --version
AVSLUTSSTATUS¶
Kommandot använder <sysexits.h> utgångsstatusvärden för allt, utom när något av flaggorna -n eller -w används, som rapporterar ett misslyckande med att förvärva låset med en utgångsstatus som anges av flaggan -E, eller 1 som standard. Utgångsstatusen som ges av -E måste ligga inom intervallet 0 till 255.
När kommando-varianten används och det underordnade kommandot utförs, är utgångsstatusen den som gäller för det underordnade kommandot.
ANTECKNINGAR¶
flock upptäcker inte deadlock. Se flock(2) för mer information.
Vissa filsystem (t.ex. NFS och CIFS) har en begränsad implementering av flock(2) och flock kan alltid misslyckas. För detaljer se flock(2), nfs(5) och mount.cifs(8). Beroende på monterinsflaggor kan flock alltid misslyckas där.
EXEMPEL¶
Observera att "shell> " i exemplen är en kommandoradsprompt.
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 local-lock-fil echo 'a b c'
(; flock -n 9 || exit 1; # ... kommandon utförda under lås ...; ) 9>/var/lock/mylockfile
[ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock -en "$0" "$0" "$@" || :
shell> exec 4<>/var/lock/mylockfile; shell> flock -n 4
UPPHOVSPERSONER¶
H. Peter Anvin <hpa@zytor.com>
UPPHOVSRÄTT¶
Copyright © 2003-2006 H. Peter Anvin. Detta är fri programvara; se källan för kopieringsvillkor. Det finns INGEN garanti; inte ens för SÄLJBARHET eller LÄMPLIGHET FÖR ETT BESTÄMMT SYFTE.
SE ÄVEN¶
FELRAPPORTERING¶
För felrapporter, använd felhanteraren <https://github.com/util-linux/util-linux/issues>.
TILLGÄNGLIGHET¶
Kommandot flock ingår i paketet util-linux som kan hämtas från Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.
| 2026-06-17 | util-linux 2.42.2 |