关于Linux删除被操作的文件是不会有提示该文件正在被使用的,查看文件是否被使用可以使用工具软件lsof或fuser来显示,当需要删除的文件较多时候采用这种方式效率很低。下面简单的几行代码可以阻止删除正在使用的文件
修改内核代码fs/namei.c的may_delete
if (victim->d_flags & DCACHE_NFSFS_RENAMED)
return -EBUSY;
//++sw
if(!isdir)
if(victim->d_count.counter>1)
{
return -EBUSY;
}
//–sw
return 0;
经过这样的改动则删除正在使用的文件时候会提示:
Device or resource busy