通过远程桌面在Windows Server 2003上解锁文件,无需重新启动

我们有几台运行Windows Server 2003的机器,每台机器都有自己的用途。 有预定的作业,使用WinSCP通过SFTP同步一些文件。 有时候,新复制的文件没有任何原因被locking在“收件箱”文件夹中。 机器自己的后台任务(用Java编程)在处理后不能再移动到“已处理”文件夹。

手动移动它只会产生众所周知的错误信息无法移动[文件名]:正被另一个人或程序使用

我试过解锁在WinXP本地工作正常,但不能在远程桌面的Win2K3机器上工作(解锁选项没有显示在右键上下文菜单中)。 我尝试了Process Explorer以及这篇博客文章中描述的,但它导致服务器崩溃并重新启动(不知道是否因为它是通过远程桌面执行的)。

唯一的办法是重启机器,但我们当然想避免这种情况。 有什么build议么?

如果重新启动FileZilla Server服务,会发生什么情况? 如果无法移动文件,则可以从Java应用程序执行net start / stop“FileZilla Server”服务。

如果文件被内核打开(系统进程),那么杀死句柄通常会导致蓝屏,尽pipe并不总是如此。

通常closures已经打开的程序将释放锁。 我怀疑你的Java应用程序是最终的错误。

这些资源可能是有用的:

在Windows中configuration机会lockinghttp://support.microsoft.com/kb/296264

在Windows环境中如何运行Oplocks http://msdn.microsoft.com/en-us/library/cc308441(v=MSDN.10).aspx