当前位置:  技术问答>linux和unix

求助:AIX下一段频繁处理文件的程序出现的问题

    来源: 互联网  发布时间:2016-07-28

    本文导语:  本帖最后由 kevin6636 于 2010-01-07 15:02:47 编辑 程序的大致作用是遍历几个目录,读取文件进行处理,而后删除,但是在处理一段时间后总是会报错:too many open files。在/proc/进程id/fd目录下确实发现大量文件。 我原以...

本帖最后由 kevin6636 于 2010-01-07 15:02:47 编辑
程序的大致作用是遍历几个目录,读取文件进行处理,而后删除,但是在处理一段时间后总是会报错:too many open files。在/proc/进程id/fd目录下确实发现大量文件。
我原以为是程序写的不好,于是通过不断的简化程序来找出错误,但是在简化成如下的样子后还是不行,想请各位达人看一下究竟是什么原因?
搜索的目录下约200个文件。

 #include 
 #include 
 #include 
 #include 
 #include 
 #include 

main()
{
 FILE *fd = NULL ;
 char filename[100];
 struct dirent* subent = NULL;
 DIR *pSubDir;
 
  do {
   pSubDir=opendir("/tmp/msglog/ybAyy2/0/10/00/");
   while (NULL != (subent=readdir(pSubDir)))
   {
    if (strcmp(subent->d_name,".")!=0 && strcmp(subent->d_name,"..")!=0)
    {
     memset(filename, 0, 100);
     memcpy(filename, "/tmp/msglog/ybAyy2/0/10/00/", 27);
     memcpy(filename+27,subent->d_name,20); /*所有文件名都是规范的,20个字符*/
     fd=fopen(filename,"r");
     if(fd == NULL)
     {
       fprintf(stderr,"(STRERROR)Error opening file: %sn", strerror(errno));
     }
     else 
     {
      if (fclose(fd)!=0)
       fprintf(stderr,"(STRERROR)Error close file: %sn", strerror(errno));
     }
    }
   }
   closedir("/tmp/msglog/ybAyy2/0/10/00/"); 
  } while (TRUE);  
}

|
不知道lz怎么退出循环
虽然每次fd=fopen(filename,"r");  都释放了

pSubDir=opendir("/tmp/msglog/ybAyy2/0/10/00/"); 
没见释放,也没见退出循环
估计是opendir 打开的文件过多

    
 
 

您可能感兴趣的文章:

  • 求助! 又出现问题了!
  • 求助:双系统安装redhat出现问题?
  • 求助:J2EE系统在Unix 系统中出现乱码问题?谢谢
  • 求助:第一次装apache+php,运行站点出现403错误!
  • 紧急求助 我的系统总是出现 missing operating system
  • 求助:在Linux下安装mysql出现以下问题
  • 求助 nfs挂载的时候出现mount:rpc tiome out
  • 大侠,求助!!LINUX下TCP套接字编程中客户端出现段错误
  • linux安装后不能启动,出现01010101010101010码,求助!
  • red hat怎么安装gcc啊!总是出错,求助求助啊!!!yum源怎么改啊!! iis7站长之家
  • debian安装过程出现问题,求助
  • 紧急求助! ftp连接到虚拟机的Linux出现问题
  • 求助:linux和Arm板之间,可以ping通,ftp时却出现Connection refused
  • 求助!在ubuntu下安装nistnet出现的问题
  • 求助!为什么我的iptable出现异常
  • 求助:各位大哥为什么会出现这样的错误啊(ioctl: LOOP_CLR_FD: 设备或资源忙)谢谢!
  • 求助,linux安装出现的一些菜鸟问题
  • 【求助】RHEL5.1 下安装Oracle 10.2g出现问题:指定数据库方案口令后卡住了,不能安装
  • 紧急求助!!ftp出现一个怪问题
  • gcc运行程序出现错误,求助。。。
  • 【求助】如果在一个文件内执行多条语句(批处理)
  • 对不起,借地方发一贴 ??????求助dos下批处理的有关问题,70分相送!
  • [求助]VPC上装的Redhat,从一台电脑换到另一台上去用,就说不可恢复的处理器错误呢?
  • 求助:JSP或者javascript中处理表单的一点问题
  • *** 求助!!! 关于(可靠)信号处理的问题 ***
  • sed 脚本求助:变量中含有转义字符处理
  • 大虾 紧急求助!!!!如何求得当前机子的处理器利用率和内存利用率?
  • 求助批处理实现dos -〉unix文件的转换,要将^M 替换为unix回车
  • 求助:linux信号处理的默认函数宏定义怎么理解呢?
  • 求助:Ubuntu的sort命令在处理中文时出现问题
  • 求助!我在WINDOWS下删除了一个分区,安装在同一台机的LINUX就启动不了了,请问怎么处理?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 怎样读取HZK24S前十区的内容啊???求助求助
  • 紧急求助!紧急求助!
  • 【求助】iplanet问题,求助高手解答!
  • 菜鸟求助,solaris下计算问题求助
  • 【求助】SOS紧急求助..............极为简单的问题...跪求....
  • 高分求助啊!求助SUSE 10.0 不能上网.
  • 急急急急急急急啊,紧急求助啊!!!!!满分求助啊!!!!!!
  • 求助:linux下 vim的配置(高分求助)
  • red hat怎么安装gcc啊!总是出错,求助求助啊!!!yum源怎么改啊!!
  • 求助~~求助 ~~linux文件读写问题
  • 求助:信号 --13 进程中断
  • 求助,安装了红帽子后进不了
  • 新装linux求助
  • linux的 iptables问题求助
  • (高分求助)请问,那里有软件开发的<设计文档>
  • 一个简单的问题,高分求助!!!
  • 紧急求助:Unix下给文件夹重命名用什么命令?谢谢!!!!
  • VJ的一个问题,高分求助,熟悉VJ得请进!
  • 高分求助


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3