我正在尝试使用
/path/to/dir
命令删除目录 rm -rf
。
不幸的是我得到了错误
rm: cannot remove '/path/to/dir/.nfsdda293a660f276ca0000000a': Device or resource busy
经过一番研究,我意识到我需要找到哪个进程正在使用该文件,然后才能删除它:
lsof /path/to/dir/.nfsdda293a660f276ca0000000a
它将返回与进程关联的 PID:
COMMAND PID
python 28594
然后我杀死 PID 并再次尝试删除,但我仍然收到初始错误。
如何在脚本内强制脚本自动删除
/path/to/dir
,无需手动干预?
这对我有用:
lsof +D /path
这将在 /path 下的文件系统中递归,所以要小心在大型目录树上执行此操作。
一旦知道哪些进程打开了文件,您就可以退出这些应用程序,或使用kill(1)命令杀死它们。
信用: https://unix.stackexchange.com/questions/11238/how-to-get-over-device-or-resource-busy
这里有这么多复杂的答案,让大家感到困惑,请执行以下操作。
卸载目录名
然后再试一次 例如
rm -rf 目录名
简单。