bash flock:如果无法获取锁定则退出

前端之家收集整理的这篇文章主要介绍了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

猜你在找的Bash相关文章