Erstellen Sie eine Sperrdatei in Bash, um doppelte Ausführung zu vermeiden

Ich bin nicht sehr gut in Bash Ich habe einen Code geändert, um eine Sperrdatei zu erstellen, damit ein Cron kein zweites Mal ausgeführt wird, wenn der erste Prozess nicht abgeschlossen ist.

LOCK_FILE=./$(hostname)-lock
(set -C; : > $LOCK_FILE) 2> /dev/null
if [ $? != "0" ]; then
   echo "already running (lock file exists); exiting..."
exit 1
fi

trap 'rm $LOCK_FILE' INT TERM EXIT

Wenn ich es zum ersten Mal ausführe, wird die Meldung bereits ausgeführt, als ob die Datei bereits vorhanden wäre.

Vielleicht fehlt mir etwas

Antworten auf die Frage(1)

Ihre Antwort auf die Frage