问题:删除.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文件就被删除了~
本文由 创作,采用 知识共享署名4.0 国际许可协议进行许可。本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为: 2020/05/16 14:16