gpt4 book ai didi

bash - 确保一次只运行一个 shell 脚本实例的快捷方式

转载 作者:行者123 更新时间:2023-11-29 08:39:44 25 4
gpt4 key购买 nike

确保在给定时间只有一个 shell 脚本实例运行的快速而简单的方法是什么?

最佳答案

使用flock(1)在文件描述符上创建独占作用域锁。这样您甚至可以同步脚本的不同部分。

#!/bin/bash

(
# Wait for lock on /var/lock/.myscript.exclusivelock (fd 200) for 10 seconds
flock -x -w 10 200 || exit 1

# Do stuff

) 200>/var/lock/.myscript.exclusivelock

这确保了 () 之间的代码一次仅由一个进程运行,并且该进程不会等待锁定太久。

警告:此特定命令是 util-linux 的一部分.如果您运行 Linux 以外的操作系统,它可能可用也可能不可用。

关于bash - 确保一次只运行一个 shell 脚本实例的快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/169964/

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