无法删除 EFS 存储中的 .nfs 文件

Cannot delete .nfs file inside EFS storage

在 docker 图像 debian:stretch-slim 上,无法删除 NFS 驱动器上的特定文件夹,使用 rm -rf /folder-name 作为根用户(或 rm-rf * 输入 folder-name). 返回以下错误:

rm: cannot remove 'test-ikmgfjhv/dev/.nfse47cf31c6b1dd52500000009': Device or resource busy

经过多方查找,最终得到如下link:
https://uisapp2.iu.edu/confluence-prd/pages/viewpage.action?pageId=123962105

其中准确描述了为什么这些文件存在于 NFS 中以及如何处理它们。 由于我没有使用同一台机器运行进程(另一个容器),所以在我的情况下,我必须解决这个问题并首先确保使用该文件的进程在第一台机器上被杀死,然后尝试删除放在第二个,根据项目需要。

.nfs 文件可能附加到正忙或 运行ning 的进程(如打开的文件,例如 vim 文件)。

例如隐藏文件为.nfs000000000189806400000085,运行获取pid的命令如下: lsof.nfs000000000189806400000085

这将输出与该文件相关的 PID 和其他信息

然后终止进程: 杀死 - 9

请注意,如果文件未保存,您将丢失信息。

While 运行 任何命令,如果您收到如下错误: /home/mmandi/testcases/.nfs000000e75853 :device or resource busy.

转到显示此文件的目录。 例如 - 在这种情况下:/home/mmandi/testcases/

执行以下操作:

# ls -la : This will display contents of the directory along with files starting with "."

此处显示.nfs000000e7585 文件。

# lsof .nfs000000e7585

这将列出 PID

# Use Kill -9 PID.