[英]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.