#!/bin/bash
{
flock -xn 3
if [ $? -ne 0 ];then
echo "Aready runing..."
exit 1
fi
do some thing here
} 3<>/tmp/`basename $0`.lock
或============================
lockit () {
if [[ $(dirname $0) == "." ]];then
lock=.${0}.lock
else
lock=$(dirname $0)/.$(basename $0).lock
fi
exec 7<>$lock
flock -xn 7 || {
echo "Waiting for lock {$lock} to release..."
#flock 7
exit 1
}
}
lockit