Как разблокировать файл, заблокированный процессом

Файл заблокирован процессом, java в моем случае. Я только хочу, чтобы замок был снят.

lsof | grep /home/user/workspace1

Lsof

Временным решением было "Завершить процесс" из "Системного монитора". Завершить процесс Но завершение Java (виртуальная машина Java) приведет к завершению всех других программ, использующих Java. Так как мне снять блокировку, удерживаемую любым процессом? Для этой же цели в Windows есть приложение под названием "Unlocker".

2 ответа

Попробуйте lockf.

lockf - применить, протестировать или удалить блокировку POSIX для открытого файла

Функция lockf() позволяет блокировать разделы файла с помощью блокировок консультативного режима. Вызовы lockf() из других процессов, которые пытаются заблокировать секцию заблокированного файла, будут либо возвращать значение ошибки, либо блокировать, пока секция не станет разблокированной. Все блокировки для процесса удаляются, когда процесс завершается. Блокировка записи с помощью lockf() поддерживается для обычных файлов. IBM

Я не совсем уверен, что это будет работать на ваших конкретных файлов блокировки, но 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):

Итак, попробуйте что-то вроде

lockfile-remove /home/user/workspace1/.metadata/.lock

Другой, более жестокий подход - просто удалить файл блокировки.

Другие вопросы по тегам