在 Mac OS X 终端上 rm 时覆盖“资源繁忙”

在 Mac OS X 终端上 rm 时覆盖“资源繁忙”

当我尝试删除文件时

sudo rm -rf filename

我得到了回应:

rm: filename: Resource is busy

我该如何克服这个问题?我知道事实上该资源不是很忙。我只想删除它!

答案1

尝试lsof filename查看它是否真的很忙。最常见的原因之一是您尝试删除 shell 打开的目录。

答案2

您无法覆盖此行为。

操作系统指出它正忙。操作系统可能是正确的。错误消息可能出于以下原因:

  • 该文件实际上正在被另一个进程使用
  • 你的文件系统有问题

由于您希望删除该文件,我的建议是从 Linux 映像启动机器,挂载您的文件系统并删除该文件。

答案3

正如其他发帖者所说,如果你比操作系统更了解,那么重启系统,它就会忘记。但实际上,他们知道自己在说什么……

答案4

以上皆是。系统通常不会撒谎,但有时它也会撒谎。

请继续阅读,因为我遇到了一种特殊情况,其中先前建议的解决方案均不起作用,但我确实设法解决了我的问题。

在我的情况下,“繁忙”文件是网络附加驱动器上“外部磁盘”上的 .ttf TrueType 字体文件,因此系统在启动时不太可能打开它。lsof 命令没有显示任何内容。重新启动 Mac 也没有改变任何东西。关闭网络上唯一可能正在使用该文件的其他计算机也没有改变任何东西。

磁盘实用程序无法对该驱动器执行任何操作,因为它不仅仅是一个可移动设备,它是一个远程设备,并未直接连接到 Mac。

我复制了文件,并给它取了新名字,因为我想重命名它,而不是删除它。复制后,我无法删除原始文件,因为它仍然“忙碌”。

我登录到网络连接驱动器并尝试“检查”“外部磁盘”,但检查失败。但现在我可以在 Finder 中删除原始文件,而无需使用 sudo 或 rm -f 或类似的东西。它不再“忙碌”。

相关内容