【问题标题】:Is there a standard Linux library for "lock files"?是否有用于“锁定文件”的标准 Linux 库?
【发布时间】:2015-07-01 23:52:42
【问题描述】:

假设我有一个文件夹,并且我希望我的应用程序一次只处理一个实例。我只能通过文件系统本身进行同步。通常这是通过.lock_file 之类的东西完成的,如果存在,我知道另一个实例当前正在使用它。有没有处理这种事情的标准库?

【问题讨论】:

  • 哪种操作系统和语言/框架?如果您将这些添加为标签,您将获得更多视图并希望得到答案。

标签: linux file synchronization locking


【解决方案1】:

如果您使用 C/C++,请参阅 fclnt 或 flock : Locking files in linux with c/c++

如果您使用的是 java,请参阅FileChannel lock methodHow can I lock a file using java (if possible)

你也可以检查.lock_file是否存在 open(pathname, O_CREAT | O_EXCL, 0644), 参见open man page,它会创建并打开文件,如果路径名存在则返回 EEXIST。

在 java 中,调用File method createNewFile() 可用于原子地创建.lock_file

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-04
    • 2011-11-20
    • 1970-01-01
    • 2010-11-13
    • 1970-01-01
    • 1970-01-01
    • 2014-02-20
    • 2017-06-29
    相关资源
    最近更新 更多