#!/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
本文提供了一个使用Bash脚本实现进程锁定的例子。通过flock命令与特定的文件锁结合,确保同一时间只有一个实例运行指定的任务。此脚本适用于需要避免重复执行的情况。

被折叠的 条评论
为什么被折叠?



