我有一个 IIS 网络服务(商业产品),它使用 UNC 将文件写入远程 Windows 文件服务器。
有时,特别是在批量写入大量小文件时,该过程会失败。事件日志显示该进程因“该进程无法访问该文件,因为它正被另一个进程使用”而失败。
当我去查看文件时,无论锁定它都不再锁定它,我可以毫无问题地写入它。
所以有些东西暂时锁定了文件。
我不能使用 Process Monitor、OpenFiles 等,因为我需要在问题随机和暂时发生时发现它。
我无法监控特定文件,因为 Web 服务每次都会写入全新的文件。但它们被写入特定的顶级文件夹和随机子文件夹。
这听起来很像 AntiVirus,但我们的 McAfee 已在所有相关机器上禁用了 OnAccess 扫描。
可以在服务器上运行一些东西来监视文件锁定失败错误/事件并在它们发生时捕获进程信息吗?
如何在写入文件时捕获哪个进程暂时锁定文件?