如何解锁文件,被进程锁定

arp*_*pit 5 java lock lsof

该文件被一个进程锁定,在我的例子中是 java。我只想释放锁。

lsof | grep /home/user/workspace1
Run Code Online (Sandbox Code Playgroud)

lsof

临时解决方案是从“系统监视器”中“结束进程”。 结束进程 但是终止 java(Java 虚拟机)会终止所有其他使用 java 的程序。那么我该如何释放任何进程持有的锁。出于同样的目的,Windows 有一个名为“Unlocker”的应用程序。

Mit*_*tch 0

尝试lockf

lockf - 在打开的文件上应用、测试或删除 POSIX 锁

lockf() 函数允许使用咨询模式锁来锁定文件的各个部分。从尝试锁定锁定文件部分的其他进程调用 lockf() 将返回错误值或阻塞,直到该部分解锁为止。当进程终止时,进程的所有锁都将被删除。常规文件支持使用 lockf() 进行记录锁定。国际商业机器公司


ter*_*don 0

我完全不确定这是否适用于您的特定锁定文件,但lock-remove可能值得一试:

lockfile-remove [--lock-name] filename

DESCRIPTION
   Lockfile-progs provides a set a programs that can be used to  lock  and
   unlock mailboxes and files safely (via liblockfile):
Run Code Online (Sandbox Code Playgroud)

所以,尝试类似的东西

lockfile-remove /home/user/workspace1/.metadata/.lock
Run Code Online (Sandbox Code Playgroud)

另一种更残酷的方法是简单地删除锁定文件。