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.