免费注册 查看新帖 |

Chinaunix

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

求助:多进程对文件操作问题??? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-01-18 02:44 |只看该作者 |倒序浏览
一接口机上有一个进程,不定期的把文件ftp到主机的指定目录下,主机上有一进程死循环扫描该目录,发现有文件既读取文件内容做相应操作。由于每个文件很小,故一般情况下运行正常。偶尔会发生主机上的进程无法用fopen打开文件,我怀疑是由于在ftp还没完成的情况下去fopen文件,造成的失败,不知道我的怀疑是否正确?有什么好的办法能解决上面的问题么?往大家给个思路。
我想用fcntl函数去测试文件是否上锁,但是也要先open文件才行。
不知道还有什么好办法

论坛徽章:
0
2 [报告]
发表于 2004-01-18 09:26 |只看该作者

求助:多进程对文件操作问题???

文件被别的进程上锁了也并不是不能打开,你fopen的进程,打开的文件多吗???

论坛徽章:
0
3 [报告]
发表于 2004-01-18 09:41 |只看该作者

求助:多进程对文件操作问题???

我主机上的程序的目的是,扫描从接口机上传过来的文件,对其内容做相应操作,然后生成操作结果文件送回到接口机。

昨天我加上了fopen的errno判断,现在发现是我在发现有需要操作的文件后,fopen用w方式产生返回文件的时候报error=23,too many open files的错,跟上面我估计的错误完全不一样了

我的操作步骤是,先根据读到的文件名用fopen,生成一个返回文件,
如果生成失败就直接retrun,如果生成成功,则用fopen r方式打开接口机上送过来的文件做操作,把操作结果写入返回文件里。

论坛徽章:
0
4 [报告]
发表于 2004-01-18 12:21 |只看该作者

求助:多进程对文件操作问题???

1 确认你的程序fopen后有没有fclose

2 确认你的程序同时最多在打开几个文件

论坛徽章:
0
5 [报告]
发表于 2004-01-18 12:53 |只看该作者

求助:多进程对文件操作问题???

发现了一处有可能跳过fclose的地方,谢谢楼上的兄弟!!!

论坛徽章:
0
6 [报告]
发表于 2011-07-14 12:15 |只看该作者
回复 4# ldap


    请问一下大侠,我如何确保文件fclose之后不再被其他的进程打开呢?还有就是fopen打开的只有一个文件,如果其他进程再执行这段代码,是不是就不会再打开新的文件了?

论坛徽章:
0
7 [报告]
发表于 2011-07-14 12:17 |只看该作者
回复 2# ldap


    文件上了锁,在什么情况下可能被打开呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP