首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >远程NFS服务器中当前正在写入的文件的NFS客户端锁定

远程NFS服务器中当前正在写入的文件的NFS客户端锁定
EN

Stack Overflow用户
提问于 2012-12-03 18:42:48
回答 1查看 1.7K关注 0票数 0

我已经在本地机器上挂载了一个NFS挂载(因此,我假设我的机器就是NFS客户机),并且托管NFS挂载的远程机器(NFS服务器)正在将一个文件写入NFS挂载。现在,在从本地计算机读取数据之前,如何使用JAVA检测远程计算机中正在写入的文件是否已关闭?

或者,有没有其他方法可以实现我想要的?

编辑:我还想提一下,我无法控制远程NFS服务器。我只能在只读模式下挂载。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-09 13:06:25

正如您所说的,您既不能控制NFS服务器,也不能控制NFS服务器上更新文件的程序,因此您可以做的事情不多。您唯一可以真正利用的事实是,当文件更新时,其修改时间也会更新。您的java客户机应该可以使用File.lastModified()来使用它。如果您的应用程序记得上次修改日期,那么您至少可以知道自上次读取以来是否有数据需要处理。这绝对不是完美的。有竞争条件等,但根据你的应用程序到底需要什么/做什么,它可能就足够了。您无法判断文件在服务器上是关闭的还是打开的。

如果文件修改显示得很慢,您也可以使用noac挂载选项进行挂载。虽然这会影响常规NFS客户端上的NFS性能,但如果您的计算机没有使用该驱动器上的大量其他NFS文件,那么它可能会对您起作用。参见"man nfs“。

顺便说一句,我看不出文件锁定会有什么帮助,因为您没有给出NFS服务器上的应用程序无论如何都会使用锁的指示。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13681559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档