Il file di blocco specificato come opzione per /usr/bin/flock
; /var/cron.lock
rimane bloccato con il flock(2)
chiamata di sistema per la durata del tuo script /usr/bin/myscript
. Una volta completato lo script, il blocco viene nuovamente rilasciato da /usr/bin/flock
.
Quando il /usr/bin/flock
command non può ottenere un lock, cioè perché /var/cron.lock
è già bloccato perché lo script è ancora in esecuzione (o qualsiasi altra condizione di errore), /usr/bin/flock non eseguirà lo script. Il tuo script non ha bisogno di essere modificato e non ha bisogno di fare alcun controllo del blocco, è tutto fatto da /usr/bin/flock.
Il file di blocco stesso verrà creato come file vuoto dal /usr/bin/flock
comando se non esiste ancora, ma dopo che è stato creato il file di blocco non cambia, verrà applicato e rimosso solo un flock(2). Il file non verrà rimosso dopo il completamento dello script.