如何在Linux中释放对文件的锁定而不会终止进程

时间:2015-11-04 15:23:03

标签: virtualbox file-locking

Oracle VirtualBox正在持有其中一个磁盘文件。我想释放文件上的锁,而不必杀死进程或删除文件。有可能吗?

这是lsof的输出:

COMMAND  PID USER   FD   TYPE DEVICE     SIZE/OFF     NODE NAME
VBoxSVC 2935 vbox   23r   REG   8,35 253360058368 12976130 /home/vbox/VirtualBoxVMs/virtm0/virtm0-disk1.vdi

1 个答案:

答案 0 :(得分:1)

FD = 23r意味着文件描述符23并且它被打开以供阅读。

gdb工具可用于释放对此文件的锁定

    gdb -p $PID
    p close($FD)

    eg:

    gdb -p 1737
    .....
    (gdb) p close(6)
    $1 = 0
    ...
    Quit anyway? (y or n) y
    Detaching from program: /usr/lib/apache2/mpm-prefork/apache2, process 1737

希望这有帮助。