如何删除服务器出现的.nfs文件

/ Linux / 没有评论 / 4345浏览

问题:删除.nfs文件失败

在远程调试的过程中,删除了一个正在调试的文件,之后就出现了.nfs文件,然后手动删除此文件,出现以下错误:

rm: cannot remove '.nfs00000000053ab2460000001e': Device or resource busy

原因是因为有进程正在访问这个文件,不允许删除。所以办法是把打开文件的进程停止,文件就会被删除。谷歌到方法,用lsof查看使用此文件的进程,然后关闭此进程即可。

#后面的就是你要删除的.nfs文件,根据实际情况修改
 lsof .nfs00000000053ab2460000001e   

但是,lsof出现以下问题:

-bash: lsof: command not found

说明服务器系统中没有lsof,安装即可,安装指令如下:

apt-get install lsof

如果你不是root权限,使用下面指令:

sudo apt-get install lsof
[root@localhost ~]# yum install lsof
已加载插件:fastestmirror
Determining fastest mirrors
 * base: mirrors.huaweicloud.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base                                                                                                                                                                                                            | 3.6 kB  00:00:00     
docker-ce-stable                                                                                                                                                                                                | 3.5 kB  00:00:00     
extras                                                                                                                                                                                                          | 2.9 kB  00:00:00     
updates                                                                                                                                                                                                         | 2.9 kB  00:00:00     
(1/3): extras/7/x86_64/primary_db                                                                                                                                                                               | 164 kB  00:00:00     
(2/3): updates/7/x86_64/primary_db                                                                                                                                                                              | 6.7 MB  00:00:00     
(3/3): docker-ce-stable/x86_64/primary_db                                                                                                                                                                       |  41 kB  00:00:01     
正在解决依赖关系
--> 正在检查事务
---> 软件包 lsof.x86_64.0.4.87-6.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=======================================================================================================================================================================================================================================
 Package                                               架构                                                    版本                                                        源                                                     大小
=======================================================================================================================================================================================================================================
正在安装:
 lsof                                                  x86_64                                                  4.87-6.el7                                                  base                                                  331 k

事务概要
=======================================================================================================================================================================================================================================
安装  1 软件包

总下载量:331 k
安装大小:927 k
Is this ok [y/d/N]: y
Downloading packages:
lsof-4.87-6.el7.x86_64.rpm                                                                                                                                                                                      | 331 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : lsof-4.87-6.el7.x86_64                                                                                                                                                                                             1/1 
  验证中      : lsof-4.87-6.el7.x86_64                                                                                                                                                                                             1/1 

已安装:
  lsof.x86_64 0:4.87-6.el7                                                                                                                                                                                                             

完毕!

安装成功之后,执行:

#后面的就是你要删除的.nfs文件,根据实际情况修改
 lsof .nfs00000000053ab2460000001e   

如果需要root权限:

sudo  lsof .nfs00000000053ab2460000001e

出现以下结果:

COMMAND   PID        USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
java    22986 yanzuoguang    1w   REG    8,5    10075 15212332 lsof .nfs00000000053ab2460000001e
java    22986 yanzuoguang    2w   REG    8,5    10075 15212332 lsof .nfs00000000053ab2460000001e

我们直接kill此进程就可以了:

kill -9 22986

然后.nfs文件就被删除了~