linux 防止脚本重复执行解决方案

先说解决思想:

使用文件锁 防止shell 重复执行

  1. 脚本执行业务代码中 文件不存在 其他脚本也不会执行
  2. 当业务逻辑执行完毕 放开文件锁,使得下一个脚本程序可以检测到文件
  3. 进而 文件上锁 并 执行业务逻辑

示例代码:

#! /bin/bash
while [ true ]
do
	if [ ! -f './action.md'  ]
	then
		echo '文件不存在'
	else
		break
	fi
	sleep 1
done

#移除文件 继续执行
rm -f './action.md'
for((i=1;i<=5;i++))
do
	echo "这是第 $i 次调用"
	sleep 1
done
#创建文件
touch './action.md'
exit 0

猜你喜欢

转载自blog.csdn.net/jackbon8/article/details/108397163