Add a note about doing lock (mutex like) in bash.

This commit is contained in:
2022-03-20 17:42:31 +01:00
parent 5e977d44a4
commit 04eda32fa3

View File

@@ -0,0 +1,28 @@
: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]]