flock(1): Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '= flock(1) = ;Namn : flock – hantera fil-lås från skalskript ;Synopsis : '''flock''' [FLAGGOR] '''FIL'''|'''KATALOG KOMMANDO''' [ARGUMENT...] : '''flock''' [FLAGGOR] '''FIL'''|'''KATALOG''' '''-c''' '''KOMMANDO''' : '''flock''' [FLAGGOR] '''NUMMER''' ;Beskrivning : Det här verktyget hanterar flock(2)-lås från skalskript eller kommandoraden. : De två första formerna omsluter ett lås runt exekveringen av ett '''kommando''', på ett liknande sätt som su(...')
 
 
(5 mellanliggande sidversioner av samma användare visas inte)
Rad 1: Rad 1:
= flock(1) =
= flock(1) =
;Namn
: flock – hantera fil-lås från skalskript


;Synopsis
== Namn ==
: '''flock''' [FLAGGOR] '''FIL'''|'''KATALOG KOMMANDO''' [ARGUMENT...]
flock – hantera fil-lås från skalskript
: '''flock''' [FLAGGOR] '''FIL'''|'''KATALOG''' '''-c''' '''KOMMANDO'''
: '''flock''' [FLAGGOR] '''NUMMER'''


;Beskrivning
== Synopsis ==
: Det här verktyget hanterar [[flock(2)]]-lås från skalskript eller kommandoraden.
'''flock''' [FLAGGOR] '''FIL'''|'''KATALOG KOMMANDO''' [ARGUMENT...] 
'''flock''' [FLAGGOR] '''FIL'''|'''KATALOG''' '''-c''' '''KOMMANDO''' 
'''flock''' [FLAGGOR] '''NUMMER'''


: De två första formerna omsluter ett lås runt exekveringen av ett '''kommando''', på ett liknande sätt som [[su(1)]] eller [[newgrp(1)]]. Den specificerade '''filen''' eller '''katalogen''' låses (skapas om den inte redan finns).
== Beskrivning ==
Det här verktyget hanterar [[flock(2)]]-lås från skalskript eller kommandoraden. 
De två första formerna omsluter ett lås runt exekveringen av ett '''kommando''', på ett liknande sätt som [[su(1)]] eller [[newgrp(1)]].
Den specificerade '''filen''' eller '''katalogen''' låses (skapas om den inte redan finns)
Den tredje formen använder ett redan öppnat filbeskrivarnummer (t.ex. 9> /var/lock/foo). 
Som standard väntar `flock` tills låset kan erhållas.


: Den tredje formen använder ett redan öppnat filbeskrivarnummer (t.ex. 9> /var/lock/foo).
== Flaggor ==


: Som standard väntar `flock` tills låset kan erhållas.
'''-c''', '''--command=KOMMANDO''' 
: Kör ett enskilt kommando genom skalet med `-c`.


;Flaggor
'''-E''', '''--conflict-exit-code=NUMMER''' 
: Ange returkod (0–255) vid konflikt eller timeout med `-n` eller `-w`. Standard är 1.


: '''-c''', '''--command=KOMMANDO'''
'''-F''', '''--no-fork'''
:: Kör ett enskilt kommando genom skalet med `-c`.
: Utför inte fork före kommandot. Processen ersätts av kommandot som då fortsätter hålla låset. Inkompatibel med `--close`.


: '''-E''', '''--conflict-exit-code=NUMMER'''
'''-e''', '''-x''', '''--exclusive'''
:: Ange returkod (0–255) vid konflikt eller timeout med `-n` eller `-w`. Standard är 1.
: Ta ett exklusivt (skriv-)lås. Detta är standard.


: '''-F''', '''--no-fork'''
'''-n''', '''--nb''', '''--nonblock'''
:: Utför inte fork före kommandot. Flock-processen ersätts av kommandot som då fortsätter hålla låset. Inkompatibel med `--close`.
: Misslyckas direkt om lås inte kan tas. Påverkar returvärde enligt `-E`.


: '''-e''', '''-x''', '''--exclusive'''
'''-o''', '''--close'''
:: Ta ett exklusivt (skriv-)lås. Detta är standard.
: Stäng filbeskrivaren före exekvering av kommandot. Användbart om kommandot spånar barnprocesser.


: '''-n''', '''--nb''', '''--nonblock'''
'''-s''', '''--shared'''
:: Misslyckas direkt om lås inte kan tas. Påverkar returkod enligt `-E`.
: Ta ett delat (läs-)lås.


: '''-o''', '''--close'''
'''-u''', '''--unlock'''
:: Stäng filbeskrivaren före exekvering av kommandot. Användbart om kommandot spånar barnprocesser.
: Släpp låset manuellt. Vanligtvis onödigt.


: '''-s''', '''--shared'''
'''-w''', '''--wait''' / '''--timeout=SEKUNDER''' 
:: Ta ett delat (läs-)lås.
: Timeout i sekunder för att ta lås. Stöder decimaler. 0 är likvärdigt med `--nonblock`.


: '''-u''', '''--unlock'''
'''--fcntl'''
:: Släpp lås. Vanligtvis onödigt eftersom lås släpps automatiskt vid stängning av fil.
: Använd fcntl(2) OFD-lås istället för flock(2). Kräver Linux ≥ 3.15.


: '''-w''', '''--wait''' '''--timeout=SEKUNDER'''
'''--verbose'''
:: Timeout i sekunder för att ta lås. Stöder decimaler. 0 är likvärdigt med `--nonblock`.
: Visa hur lång tid det tog att ta låset, eller orsak till misslyckande.


: '''--fcntl'''
'''-h''', '''--help'''
:: Använd fcntl(2) OFD-lås istället för flock(2). Kräver Linux-kärna ≥ 3.15. Dessa har liknande semantik som flock-lås, men är separata.
: Visa hjälptext och avsluta.


: '''--verbose'''
'''-V''', '''--version'''
:: Visa hur lång tid det tog att ta låset, eller orsak till misslyckande.
: Visa versionsinformation och avsluta.


: '''-h''', '''--help'''
== Returvärden ==
:: Visa hjälptext och avsluta.
Kommandot använder <code>&lt;sysexits.h&gt;</code>-värden, utom vid `-n` eller `-w`, där returvärde enligt `-E` används (standard 1). 
Om ett underliggande kommando körs används dess returvärde.


: '''-V''', '''--version'''
== Anmärkningar ==
:: Visa versionsinformation och avsluta.
`flock` detekterar inte deadlocks. Se [[flock(2)]]. 
Vissa filsystem (t.ex. NFS, CIFS) har begränsat stöd. Se även [[nfs(5)]] och `mount.cifs(8)`.


;Returvärden
== Exempel ==


: Kommandot använder <code>&lt;sysexits.h&gt;</code>-värden, utom vid `-n` eller `-w`, där returvärde enligt `-E` används (standard 1).
<code>flock /tmp -c cat</code>
: Tar exklusivt lås på `/tmp`.


: Om ett underliggande kommando körs används dess returvärde.
<code>flock -s /tmp -c cat</code> 
: Tar delat lås på `/tmp`.


;Anmärkningar
<code>flock -x local.lock echo 'a b c'</code> 
: Kör kommandot med exklusivt lås på `local.lock`.


: `flock` detekterar inte deadlocks. Se [[flock(2)]] för detaljer.
<code>( flock -n 9 || exit 1; ... ) 9>/var/lock/my.lock</code> 
: Skalvänlig syntax. Låset hålls via filbeskrivare 9.


: Vissa filsystem (t.ex. NFS, CIFS) har begränsat stöd för [[flock(2)]], och låsning kan misslyckas helt. Se även [[nfs(5)]] och `mount.cifs(8)`.
Självlåsande skript:
<code>[ "$FLOCKER" != "$0" ] && exec env FLOCKER="$0" flock -en "$0" "$0" "$@" || :</code>


;Exempel
<code>exec 4<>/var/lock/my.lock; flock -n 4</code> 
: Lås via filbeskrivare 4 utan ny process.


: <code>flock /tmp -c cat</code> 
== Författare ==
: Tar exklusivt lås på `/tmp`.
H. Peter Anvin &lt;hpa@zytor.com&gt;


: <code>flock -s /tmp -c cat</code> 
== Copyright ==
: Tar delat lås på `/tmp`.
© 2003–2006 H. Peter Anvin. Fri programvara enligt licensvillkor i källkoden. Ingen garanti.


: <code>flock -x local.lock echo 'a b c'</code> 
== Se även ==
: Kör kommandot med exklusivt lås på filen `local.lock`.
[[flock(2)]], [[fcntl(2)]]


: <code>( flock -n 9 || exit 1; ... ) 9>/var/
== Rapportering av fel ==
Rapportera buggar via: https://github.com/util-linux/util-linux/issues


= Sidslut =
== Tillgänglighet ==
`flock` är en del av '''util-linux''', tillgänglig från: https://www.kernel.org/pub/linux/utils/util-linux/


= Sidslut =
Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/flock.1.html
Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/flock.1.html
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på  
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på  

Nuvarande version från 26 mars 2025 kl. 07.34

flock(1)

Namn

flock – hantera fil-lås från skalskript

Synopsis

flock [FLAGGOR] FIL|KATALOG KOMMANDO [ARGUMENT...] flock [FLAGGOR] FIL|KATALOG -c KOMMANDO flock [FLAGGOR] NUMMER

Beskrivning

Det här verktyget hanterar flock(2)-lås från skalskript eller kommandoraden. De två första formerna omsluter ett lås runt exekveringen av ett kommando, på ett liknande sätt som su(1) eller newgrp(1). Den specificerade filen eller katalogen låses (skapas om den inte redan finns). Den tredje formen använder ett redan öppnat filbeskrivarnummer (t.ex. 9> /var/lock/foo). Som standard väntar `flock` tills låset kan erhållas.

Flaggor

-c, --command=KOMMANDO

Kör ett enskilt kommando genom skalet med `-c`.

-E, --conflict-exit-code=NUMMER

Ange returkod (0–255) vid konflikt eller timeout med `-n` eller `-w`. Standard är 1.

-F, --no-fork

Utför inte fork före kommandot. Processen ersätts av kommandot som då fortsätter hålla låset. Inkompatibel med `--close`.

-e, -x, --exclusive

Ta ett exklusivt (skriv-)lås. Detta är standard.

-n, --nb, --nonblock

Misslyckas direkt om lås inte kan tas. Påverkar returvärde enligt `-E`.

-o, --close

Stäng filbeskrivaren före exekvering av kommandot. Användbart om kommandot spånar barnprocesser.

-s, --shared

Ta ett delat (läs-)lås.

-u, --unlock

Släpp låset manuellt. Vanligtvis onödigt.

-w, --wait / --timeout=SEKUNDER

Timeout i sekunder för att ta lås. Stöder decimaler. 0 är likvärdigt med `--nonblock`.

--fcntl

Använd fcntl(2) OFD-lås istället för flock(2). Kräver Linux ≥ 3.15.

--verbose

Visa hur lång tid det tog att ta låset, eller orsak till misslyckande.

-h, --help

Visa hjälptext och avsluta.

-V, --version

Visa versionsinformation och avsluta.

Returvärden

Kommandot använder <sysexits.h>-värden, utom vid `-n` eller `-w`, där returvärde enligt `-E` används (standard 1). Om ett underliggande kommando körs används dess returvärde.

Anmärkningar

`flock` detekterar inte deadlocks. Se flock(2). Vissa filsystem (t.ex. NFS, CIFS) har begränsat stöd. Se även nfs(5) och `mount.cifs(8)`.

Exempel

flock /tmp -c cat

Tar exklusivt lås på `/tmp`.

flock -s /tmp -c cat

Tar delat lås på `/tmp`.

flock -x local.lock echo 'a b c'

Kör kommandot med exklusivt lås på `local.lock`.

( flock -n 9 || exit 1; ... ) 9>/var/lock/my.lock

Skalvänlig syntax. Låset hålls via filbeskrivare 9.

Självlåsande skript: [ "$FLOCKER" != "$0" ] && exec env FLOCKER="$0" flock -en "$0" "$0" "$@" || :

exec 4<>/var/lock/my.lock; flock -n 4

Lås via filbeskrivare 4 utan ny process.

Författare

H. Peter Anvin <hpa@zytor.com>

Copyright

© 2003–2006 H. Peter Anvin. Fri programvara enligt licensvillkor i källkoden. Ingen garanti.

Se även

flock(2), fcntl(2)

Rapportering av fel

Rapportera buggar via: https://github.com/util-linux/util-linux/issues

Tillgänglighet

`flock` är en del av util-linux, tillgänglig från: https://www.kernel.org/pub/linux/utils/util-linux/

Sidslut

Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/flock.1.html Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp Bromma som har sponsrat Linux.se med webbhotell.