:PROPERTIES: :ID: 7052d327-0b67-40f6-a581-46df621cddb9 :mtime: 20220319133448 :ctime: 20220319131922 :END: #+title: verrou-bash * Verrou (lock) en sh ** Utilisation de /flock/ #+BEGIN_SRC shell LOCK_PATH=/var/tmp/testlock.lock exec 100>${LOCK_PATH} || exit 1 flock 100 || exit 1 echo "Doing some stuff…" echo "Sleeping for 30 seconds…" sleep 30 trap "rm -f ${LOCK_PATH}" EXIT #+END_SRC Quelques options : * ~-w 10~ pour définir un timeout à ~flock~, ici 10 secondes. * ~-n~ pour que ~flock~ n'attende pas si le verrou est pris. * Références * [[https://www.putorius.net/lock-files-bash-scripts.html][Using Lock Files for Job Control in Bash Scripts - Putorius]] * [[https://linux.die.net/man/1/flock][Man flock]]