免费注册 查看新帖 |

Chinaunix

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

文件权限问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-01 15:22 |只看该作者 |倒序浏览
现有一个文件夹/root/vba,进程A往其中写文件;进程B每10秒轮询其中是否有文件, 若有,则读文件进行操作;

这里有个这样的问题:A正在写文件C,还没写全 ,B发现有文件了,就读文件;问B有没有办法判读判断A是否在写文件C?

论坛徽章:
0
2 [报告]
发表于 2007-11-01 15:48 |只看该作者
内核应该有个table,记录打开的文件,但是应用层很难去判断吧。

如果对实时性要求不高,A写文件的时间也不会太长,可以考虑改为B发现文件后,再检查一下文件的修改时间,比如说20秒以前的才处理,如果小于20秒,等下次轮询的时候再检查处理

论坛徽章:
0
3 [报告]
发表于 2007-11-01 16:18 |只看该作者
加个互斥锁?

论坛徽章:
0
4 [报告]
发表于 2007-11-01 16:26 |只看该作者
技术角度上不会,不过可以用一个比较笨的方法.
就是A在写文件的时候,文件名定为xxxx.tmp,写完rename到xxxx,
B检查,若是.tmp不读,否则读.

论坛徽章:
0
5 [报告]
发表于 2007-11-01 18:05 |只看该作者
原帖由 caijimin 于 2007-11-1 15:48 发表
内核应该有个table,记录打开的文件,但是应用层很难去判断吧。

如果对实时性要求不高,A写文件的时间也不会太长,可以考虑改为B发现文件后,再检查一下文件的修改时间,比如说20秒以前的才处理,如果小于20 ...


实时性有点要求,不过稍微延后倒是可以。

论坛徽章:
0
6 [报告]
发表于 2007-11-01 18:05 |只看该作者
原帖由 nig.daemon 于 2007-11-1 16:18 发表
加个互斥锁?



应用环境不太适合用互斥锁

论坛徽章:
0
7 [报告]
发表于 2007-11-01 18:06 |只看该作者
原帖由 luckydog1984 于 2007-11-1 16:26 发表
技术角度上不会,不过可以用一个比较笨的方法.
就是A在写文件的时候,文件名定为xxxx.tmp,写完rename到xxxx,
B检查,若是.tmp不读,否则读.




这个倒是可以试试

论坛徽章:
0
8 [报告]
发表于 2007-11-01 18:07 |只看该作者
不过还有没有更好点的方法阿?

论坛徽章:
0
9 [报告]
发表于 2007-11-01 18:10 |只看该作者
哪儿能见到权限问题?
还没写全 是什么意思?还没有close?

论坛徽章:
0
10 [报告]
发表于 2007-11-01 18:46 |只看该作者
要求实时?
进程A通过管道写数据到进程B,须考虑缓冲问题及丢弃策略
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP