在我使用的几个脚本中,我遇到了间歇性的问题。
有时,尝试删除文件时脚本会失败。根据错误日志,由于该文件被其他进程访问。我猜测在对文件执行的上一个操作结束后,Windows 没有时间释放该文件。
窗口应该有时间再次释放文件的时间是多少时间?
如果 Windows 应用程序处理完该文件,则应立即关闭它,因为它们可能关闭了文件句柄。文件关闭操作后解锁文件没有时间延迟。
如果程序忘记关闭其文件句柄,但结束后,Windows 将为它们释放它(只是不是立即)。通常它不会很长,但可以是任何时间,我还没有看到它花费的时间超过几秒钟。但应进行适当的清理以避免其被锁定。
还值得一提的是,并非所有程序都以锁定方式打开文件。他们可以打开文件,指定他们想要给予其他进程什么类型的访问权限,并且他们还可以锁定文件的部分内容。他们可以使用其他进程的完全读/写权限打开该文件。
如果您无法控制不关闭其文件句柄的进程,但您需要执行它,则可以编写某种循环来继续尝试该文件几秒钟。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)