Locking auf der Bash

Written by  on November 29, 2014 

Dies ist eine aktualisierte Version von Locking auf der Bash vom  19. Mai 2012. Flock für File Locking zu benutzen hat sich seitdem leicht verändert.

Dazu ein neues Testscript test.sh:

#!/bin/bash
echo start
sleep 20
echo end

Der Aufruf lautet jetzt

flock -w1 -x ./test.lock ./test.sh

Das Lockfile wird neu angelegt. Es ist nicht mehr möglich das Scriptfile selber auch als Lockfile zu benutzen. Versucht man es doch führt das zur Fehlermeldung

# flock -w1 -x ./test.sh ./test.sh
flock: ./test.sh: Text file busy

Jetzt zwei Mal das Script starten – wegen dem Timeout mit -w1 läuft es nur ein Mal

$ flock -w1 -x ./test.lock ./test.sh &
[1] 19423
$ start
flock -w1 -x ./test.lock ./test.sh &
[2] 19426
$ jobs
[1]- Running flock -w1 -x ./test.lock ./test.sh &
[2]+ Exit 1 flock -w1 -x ./test.lock ./test.sh
$ end
[1]+ Done flock -w1 -x ./test.lock ./test.sh

 

Bücher zur Shell Programmierung bei Amazon

Category : Allgemein

Tags :

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.