shell lock
#!/bin/bash TMP_FILE=`date +%Y_%m_%d_%H_%M`; TMP_FILE="/tmp/"$TMP_FILE".tmp"; echo $TMP_FILE; echo "aaa"; ( echo "bbb"; flock -s 200 sleep 100; echo "ccc"; # ... commands executed under lock ... )200>$TMP_FILE rm -f $TMP_FILE ~
shell lock timeout
#!/bin/bash TMP_FILE="/tmp/a.tmp"; echo $TMP_FILE; echo "aaa"; ( echo "bbb" flock -w 10 200 echo "ok pass lock.."; sleep 100; echo "ccc"; )200>$TMP_FILE rm -f $TMP_FILE