【问题标题】:How do I find out what process has a lock on a file in Linux?如何在 Linux 中找出哪个进程锁定了文件?
【发布时间】:2010-10-01 03:40:35
【问题描述】:

今天我遇到了无法删除文件夹的问题,因为“它很忙”。

我怎样才能找出应该归咎于哪个应用程序,或者我可以用蛮力删除它?

【问题讨论】:

    标签: linux file filesystems directory


    【解决方案1】:

    使用 lsof 找出打开了哪些文件。

    man lsof 或者看看here

    【讨论】:

      【解决方案2】:

      fuser Unix 命令将为您提供访问文件的进程的 PID。

      【讨论】:

        【解决方案3】:

        lslocks 列出有关 Linux 系统中当前持有的所有文件锁的信息。 (util-linux 的一部分)这个实用程序支持 json 输出,这对脚本来说很好。

        ~$ sudo lslocks
        COMMAND           PID   TYPE SIZE MODE  M START END PATH
        cron              873  FLOCK   4B WRITE 0     0   0 /run/crond.pid
        
        ..
        ..
        
        

        【讨论】:

          【解决方案4】:

          fuser 将显示哪些进程正在访问文件或目录。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-05-05
            • 1970-01-01
            • 1970-01-01
            • 2010-10-26
            • 2013-07-17
            • 1970-01-01
            相关资源
            最近更新 更多