| 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-05-18 | util-linux 2.42.1 |