Linux禁止删除正在使用的文件的方法


关于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

相关内容