免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6437 | 回复: 3
打印 上一主题 下一主题

请教linux下删除文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-23 15:41 |只看该作者 |倒序浏览
一种情况是smplayer在播放某文件的情况下,我rm掉该文件,但是smplayer还是可以播放,并且在smplayer退出后,硬盘空间才真正变化

一种是ktorrent,我一rm掉正在seeding的文件,ktorrent就报错说没有文件,

请问这两种情况是为什么呢?smplayer是不是采用了什么手段防止被删除阿?

是不是程序open了一个文件,我在bash下rm掉该文件,系统不会立即删掉该文件,而是会在程序退出后在删除呢?

但是如果这样的话,为什么ktorrent为什么立即报错呢?

谢谢

论坛徽章:
0
2 [报告]
发表于 2008-10-23 15:57 |只看该作者
可能ktorrent 不是一直占有文件的描述符吧 而是每次需要读的时候再打开?
不太清楚,只是猜测

论坛徽章:
0
3 [报告]
发表于 2008-10-23 16:19 |只看该作者

回复 #1 john.daker 的帖子

第一种情况: linux 下每个打开的文件都有一个计数器,rm操作,只是使计数器减1。只有当计数器为0时,文件才真正从文件系统里删除。你虽然执行了rm,但是该文件还被player打开,所以只有等player关闭之后,才真正删除。

第二种,可能跟软件的实现有关,原理是一样的。

论坛徽章:
0
4 [报告]
发表于 2008-10-23 16:21 |只看该作者
APUE第4章我记得有对打开文件删除的讲解.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP