假设我有一个文件夹,我希望我的应用程序一次只能处理一个应用程序。我只能通过文件系统本身进行同步。通常这是一个像.lock_file
这样的东西,如果存在,我知道另一个实例正在使用它。是否有任何标准库可以处理这类事情?
答案 0 :(得分:1)
如果您使用的是C / C ++,请参阅fclnt或flock: Locking files in linux with c/c++
如果您使用的是java,请参阅FileChannel lock method 和 How 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