From 04eda32fa3a92223e7dfe22166529b1a7a04e419 Mon Sep 17 00:00:00 2001 From: Adrien Date: Sun, 20 Mar 2022 17:42:31 +0100 Subject: [PATCH] Add a note about doing lock (mutex like) in bash. --- 20220319131922-verrou_bash.org | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 20220319131922-verrou_bash.org diff --git a/20220319131922-verrou_bash.org b/20220319131922-verrou_bash.org new file mode 100644 index 0000000..51ce7bd --- /dev/null +++ b/20220319131922-verrou_bash.org @@ -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]]