【Linux/CentOS查看某个文件被什么进程占用】

 

 

 

 

 

[标签]: 文件被占用无法删除    文件被谁使用   lsof和fuser的用法   文件删除了磁盘不回复   df -h和各个目录大小不一致

 

 

问题详情的描述或方案目标的预期:

服务器管理中经常遇到某个文件无法删除,因为被其他进程占用着;而有些时候,我们想删掉某个东西,又怕有进程正在用着。。。

 

 

 

【解决方案】

 

方法一 使用lsof命令:lsof FILENAME 下面看示例

[elk@iZ2ze3blde0ge8qv9kc1o6Z bin]$ lsof nohup.out

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

java 11373 elk 1w REG 253,1 3768171536 3544722 nohup.out

java 11373 elk 2w REG 253,1 3768171536 3544722 nohup.out

  

方法二 使用fuser命令:fuser FILENAME 下面看示例

[elk@iZ2ze3blde0ge8qv9kc1o6Z bin]$ fuser nohup.out

/home/elk/work/item-install/kafka-manager-1.3.3.7/bin/nohup.out: 11373

  

还有一个场景lsof很好用的,就是处理磁盘告警的时候,明明已经删掉了很多东西,比如日志文件,但是df -h看磁盘空间就是不恢复。这是因为还有相关进程没结束,所以没释放,可以使用该命令查询: lsof | grep deleted

  

  

  

总结: 简单而有效的方法才能写出最好的shell.

 

 

 

百度一下    谷歌翻译

 

 

 

 

 

 

【书君方案】 简洁、完整、漂亮、记忆深刻

 

 

 

 

 

 

©2022 BLUBN.HonL   京ICP备15053931号   书君   bookfooked.com V1.1