FLOCK(1) | Dienstprogramme für Benutzer | FLOCK(1) |
BEZEICHNUNG¶
flock - Sperrungen in Shell-Skripten verwalten
ÜBERSICHT¶
flock [Optionen] Datei|Verzeichnis Befehl [Argumente]
flock [Optionen] Datei|Verzeichnis -c Befehl
flock [Optionen] Nummer
BESCHREIBUNG¶
Dieses Dienstprogramm verwaltet mit flock(2) eingerichtete Sperrungen über Shell-Skripte oder die Befehlszeile.
Die erste und die zweite der oben genannten Formen führen die Sperrung im Rahmen der Ausführung eines Befehls aus, ähnlich wie su(1) oder newgrp(1) dies tun. Sie sperren eine angegebene Datei oder ein Verzeichnis, welche angelegt werden (ausreichende Berechtigungen vorausgesetzt), wenn sie noch nicht existieren. In der Voreinstellung wartet flock, bis die Sperrung verfügbar wird, wenn diese nicht unmittelbar erreicht werden kann.
Die dritte Form verwendet eine offene Datei anhand der Dateideskriptors-Nummer. In den unten stehenden Beispielen sehen Sie, wie Sie dies verwenden können.
OPTIONEN¶
-c, --command Befehl
-E, --conflict-exit-code Zahl
-F, --no-fork
-e, -x, --exclusive
-n, --nb, --nonblock
-o, --close
-s, --shared
-u, --unlock
-w, --wait, --timeout Sekunden
--verbose
-h, --help
-V, --version
EXIT-STATUS¶
Der Befehl verwendet generell die Exit-Status-Werte aus <sysexits.h>, außer wenn Sie die Optionen -n oder -w verwenden, welche beim Einrichten der Sperre einen Fehler melden, mit einem durch die Option -E festgelegten Exit-Status, oder 1 als Voreinstellung. Der durch -E angegebene Exit-Status muss im Bereich von 0 bis 255 liegen (einschließlich dieser Werte).
Wenn Sie die Befehl-Variante verwenden und die Ausführung des Kindprozesses funktioniert, dann ist der Exit-Status jener des Kindprozess-Befehls.
ANMERKUNGEN¶
flock erkennt keine Deadlocks. Siehe flock(2) für Details.
Einige Dateisysteme (zum Beispiel NFS und CIFS) haben B() nur unzureichend implementiert und B kann immer fehlschlagen. Für Details, siehe flock(2), nfs(5) und mount.cifs(8). Abhängig von den Einhängeoptionen kann flock dort immer fehlschlagen.
BEISPIELE¶
Beachten Sie, dass »shell> « in den Beispielen eine Eingabeaufforderung darstellt.
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-file echo 'a b c'
(; flock -n 9 || exit 1; # ... unter der Sperrung ausgeführte Befehle ...; ) 9>/var/lock/mylockfile
[ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock -en "$0" "$0" "$@" || :
shell> exec 4<>/var/lock/mylockfile; shell> flock -n 4
AUTOREN¶
H. Peter Anvin <hpa@zytor.com>
COPYRIGHT¶
Copyright © 2003-2006 H. Peter Anvin. Dies ist freie Software, in den Quellen finden Sie die Bedingungen zur Vervielfältigung und Weitergabe. Es gibt KEINE Garantie, auch nicht für die MARKTREIFE oder die TAUGLICHKEIT FÜR EINEN BESTIMMTEN ZWECK.
SIEHE AUCH¶
FEHLER MELDEN¶
Nutzen Sie zum Melden von Fehlern das Fehlererfassungssystem auf <https://github.com/util-linux/util-linux/issues>.
VERFÜGBARKEIT¶
Der Befehl flock ist Teil des Pakets util-linux, welches aus dem Linux-Kernel-Archiv <https://www.kernel.org/pub/linux/utils/util-linux/> heruntergeladen werden kann.
2024-10-01 | util-linux 2.40.2 |