繁体   English   中英

如何确保我的进程永远不会从文件中锁定另一个进程?

[英]How can I ensure my process never locks another process out of a file?

我有一个在后台运行的Windows进程,并定期备份文件。 通过将文件上载到服务器来完成备份。

在备份期间,我不想锁定任何其他应用程序,无需写入或读取文件; 如果另一个应用程序想要更改文件,我应该停止上传并关闭文件。

共享模式在这里没用; 即使我正在共享对正在读取的文件的所有访问权限,如果其他进程尝试打开它进行写入而不共享读取,它将被锁定在文件之外。

是否可以在Windows上完成此操作而无需编写驱动程序?

您可能对卷影复制感兴趣。

您当然可以复制该文件,然后在上载到服务器之前检查原始文件和副本是否相同(从而表示一致的快照)。

根据此MSDN页面 ,如果使用NTFS,您应该能够将文件锁定在您的事务中,同时将文件上载到服务器。 这将确保您的文件视图不会更改,即使文件已在外部更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM