How does this canonical flock example work?
When one must synchronize programs (shell scripts) via file system, I have found an flock -based solution to be recommended (should also work on NFS ). The canonical example for usage from within a script (from http://linux.die.net/man/1/flock ) is: ( flock -s 200 # ... commands executed under lock ... ) 200>/var/lock/mylockfile I don't quite get why this whole construct ensures atomicity. In particular, I am wondering in which order flock -s 200 and 200>/var/lock/mylockfile are executed when e.g. bash executes these lines of code. Is this order guaranteed/deterministic? The way I understand