【发布时间】:2012-12-21 15:55:59
【问题描述】:
我正在 Linux 中编写一个只能运行一个实例的 Lua 脚本。为了在 Bash 中完成此操作,我将使用 mkdir 创建一个锁定文件,然后如果文件存在则立即从脚本返回;如果没有先前的实例正在运行,则允许脚本继续运行,并在完成后删除锁定文件。
有没有办法在 Lua 中原子地“检查文件是否存在,如果不存在则创建它”?我在 Lua 文档中找不到任何此类功能,但我是该语言的新手。 io.open("filename","w") 看起来不符合这些要求。如果没有 mkdir 的原生模拟,有没有更好的方法来完成这种类型的 Lua 脚本锁定?谢谢!
【问题讨论】:
-
@renab 我看到了那些;没有一个答案会自动检查和/或创建文件,这是我特别要问的。
-
这听起来更像是单进程执行,和线程安全不是一回事。
-
@NicolBolas 是的。为了清楚起见,我已经编辑了问题。
标签: lua