如何找到有关系统进程保持打开的文件句柄的更多信息?

ros*_*mcm 5 windows

我有一个定期将数据写入本地磁盘文件的应用程序。它总是打开、写入、然后关闭文件。最近我遇到了一个问题,它停止写入数据,这是由于共享冲突而无法打开文件。这种情况似乎是永久性的。

进程资源管理器显示进程持有的文件句柄SystemPID 4。一旦我强制关闭此句柄,我的应用程序就会再次正常运行。

现在我有我的怀疑,因为该文件也可以从网络上的其他机器访问,但是该文件总是被短暂打开并再次关闭,并且总是带有“RW-”标志,并且该应用程序旨在应对这些从其他地方的简短访问。进程浏览器将文件打开的句柄标记为“R--”。

我的问题:我怎样才能找到有关System进程拥有的句柄的更多信息,以及什么样的进程可能使文件保持打开状态,以至于我无法写入文件?

Mik*_*kis 4

您怀疑该文件是通过网络访问的,这可能是正确的。我可以推测的其他事情是索引服务或防病毒软件,但我不认为其中任何一个都会显示为“系统”。

我认为没有任何方法可以比进程资源管理器获得更多有关句柄的信息。

也许您的应用程序“设计用于处理来自其他地方的这些简短访问”的方式存在错误?您可以在CodeReview上发布代码并询问人们是否发现任何问题。