gpt4 book ai didi

bash 羊群 : exit if can't acquire lock

转载 作者:行者123 更新时间:2023-11-29 08:46:04 28 4
gpt4 key购买 nike

以下锁定机制用于防止 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 无法获取锁时终止脚本?我试过 -n 但没有成功。

最佳答案

flock -n -e 200 || exit 1

flock -n 通过返回失败代码(非零的代码)告诉您它失败了。您可以改为在脚本顶部执行 set -e 以使其在看到任何未经检查的错误时退出。

根据您的应用程序,您可能希望在无法获取锁时exit 0 以指示成功。

关于bash 羊群 : exit if can't acquire lock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7057234/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com