系统如何处理“locking”文件(即WinXP)?

如何处理由操作系统locking的文件?

或者更确切地说,为什么有时我无法从Windows资源pipe理器中删除locking的文件,但是如果我在相关目录中打开命令提示符,我可以从那里删除它?

当进程打开一个文件或目录的句柄时,它指定了它想要的共享级别。 共享级别可以是标志FILE_SHARE_DELETE,FILE_SHARE_READ和FILE_SHARE_WRITE的任意组合。 标志的名字是非常明显的。 如果我指定FILE_SHARE_READ这允许其他进程读取该文件,FILE_SHARE_WRITE允许其他进程写入文件(可能会改变它在我的脚下)和FILE_SHARE_DELETE允许其他进程删除该文件(虽然我认为它实际上不会被删除,直到closures我的文件句柄后)。

无论如何,如果任何进程打开一个文件句柄, 而不指定FILE_SHARE_DELETE这意味着没有其他进程可以删除该文件,直到第一个进程closures它的句柄。 这是通常的原因,你得到这些“文件被另一个进程locking”的错误。 请注意,进程也可以打开目录的句柄,所以这也适用于删除目录,即使它们是空的。

至于你为什么可以从命令提示符删除文件,当你不能从资源pipe理器中删除它,我不明白为什么会发生这种情况。 我需要亲眼看到它。

JR

约翰的权利…你不能删除正在使用的文件,因为…他们正在使用。 在开车上class时不能换胎的原因也是一样的。 各种意想不到的事情都会发生。

如果你想知道什么进程正在使用这个文件(这样你可以暂时的终止这个进程,这样它就释放了这个文件上的锁,使用Microsoft / Sysinternals的进程pipe理器 。

  • 单击查找菜单,然后select查找句柄或DLL …
  • input您被某个进程locking的无法删除的文件名
  • inputsearch词组后,单击searchbutton

如果Windows正在使用某个文件,则可以使用Gibin Software的MoveOnBoot在重启后删除locking的文件。

我猜你在浏览器上有一些第三方扩展,打开文件稍微扫描文件,导致浏览器locking它。 是只有更大的文件有这个问题? 锁是在Windows世界的锁,没有命令提示符可以删除一个locking的文件(虽然如上所述有办法closures锁,然后删除文件)