關於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