前端之家收集整理的这篇文章主要介绍了
bash flock:如果无法获取锁定则退出,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
以下锁定机制用于防止cron作业并发运行:
#!/bin/bash
echo "Before critical section"
(
flock -e 200
echo "In critical section"
sleep 5
) 200>/tmp/blah.lockfile
echo "After critical section"
一起运行两个实例时,稍后等待,直到第一个完成,然后运行。这可能导致等待运行的脚本积压。
如何更改此脚本,以便如果flock无法获取锁定,则会终止该脚本?我试过没有成功。
flock -n -e 200 || exit 1
flock -n通过返回失败代码(除了零之外)告诉您失败。您可以在脚本的顶部设置-e,使其在看到任何未选中的错误时退出。
根据您的应用程序,您可能希望退出0以指示无法获取锁定时的成功。
原文链接:https://www.f2er.com/bash/387500.html