当linux系统下启动多个服务且没有一定的清理机制时(比如日志),系统磁盘空间很容易就被打满,但是有时候删除了文件(比如nohup.out),却发现系统磁盘空间未释放,可能原因是忽略了有应用一直在往其中写数据,直接删除某文件无法释放磁盘空间。
解决方法:
查找了下发现系统对rm进行了alias ,因为Linux对删除操作没有回收站机制,对rm操作进行了自定义,对删除文件进行移动到/tmp 目录里面,又对/temp删除 但是还是没有发现磁盘空间释放
执行lsof |grepdeleted发现有大量刚刚删除文件的进程存在,kill掉进程(或者重启进程) OK
lsof | grep deleted | awk {if (NR > 1){print $2}}|uniq | xargs kill -9
详解awk {if (NR > 1){print $2}},获取第二列
uniq,去重复
xargs kill -9 ,就是将获取第二列,再通过uniq去重的值&#
如果觉得《解决CentOS删除文件后没有释放磁盘空间(lsof命令)》对你有帮助,请点赞、收藏,并留下你的观点哦!