我尝试访问rm -rf
一个文件夹,结果“设备或资源繁忙”。
在 Windows 中,我会使用 LockHunter 来解决这个问题。 linux 的等价物是什么? (请给出一个简单的“解锁此”方法作为答案,而不是完整的文章,例如这个。虽然它们很有用,但我目前只对 ASimpleMethodThatWorks™ 感兴趣)
答案1
您想要的工具是lsof
,它代表列出打开的文件。
它有很多选项,因此请检查手册页,但如果您想查看目录下所有打开的文件:
lsof +D /path
这将在 下的文件系统中递归/path
,因此要小心在大型目录树上执行此操作。
一旦您知道哪些进程打开了文件,您就可以退出这些应用程序,或使用命令终止它们kill(1)
。
答案2
有时这是安装问题的结果,所以我会卸载您要删除的文件系统或目录:
卸载/路径
答案3
我遇到了同样的问题,从 @camh 推荐开始构建了一个单行:
lsof +D ./ | awk '{print $2}' | tail -n +2 | xargs -r kill -9
awk
获取 PID。tail
摆脱讨厌的第一个条目:“PID”。xargs
kill -9
在 PID 上执行。 /-r
,--no-run-if-empty
防止kill
命令失败,以防lsof
没有返回任何 PID。
答案4
这是解决方案:
- 进入目录并输入
ls -a
- 您将找到一个
.xyz
文件 vi .xyz
并查看文件的内容是什么ps -ef | grep username
- 您将在第 8 列(最后一行)看到 .xyz 内容
kill -9 job_ids
- 其中job_ids是第8列中相应错误导致内容的第2列的值- 现在尝试删除该文件夹或文件。