如何找出Linux中哪个进程锁定文件?

时间:2009-01-13 14:55:39

标签: linux file filesystems directory

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

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

4 个答案:

答案 0 :(得分:11)

使用lsof查找哪些文件已打开。

man lsof或看看here

答案 1 :(得分:7)

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

答案 2 :(得分:2)

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

答案 3 :(得分:2)

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

..
..