29 lines
742 B
Org Mode
29 lines
742 B
Org Mode
: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]]
|