免费注册 查看新帖 |

Chinaunix

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

创建目录失败的原因 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-10 09:31 |只看该作者 |倒序浏览
20可用积分
大家好,我程序里有段代码,按照当前时间的天和小时创建目录,程序运行了将近一个月,今天突然退出,提示mkdir失败。代码如下:
          char s2[256];
          sprintf(s2, "%02d%02d", tm_now->tm_mday, tm_now->tm_hour);/*tm_now是当前时间*/
        if ((chdir(s2) != 0) && (errno == 2))
        {
                if (mkdir(s2, 0755) != 0)
                {
                        if (DEBUG)
                        {
                                fprintf(stderr, "NO:%d child Can not mkdir dir= %s !\n", sNO, s2)
                        }
                        sprintf(err_string, "NO:%d child Can not mkdir dir= %s !", sNO, s2);
                        WriteLog(err_string);
                        return -1;
                }
        }

以前也出现过一次这种情况,是在另外一台机器上的,所以应该可以排除系统的原因。请各位高手帮我分析一下,mkdir失败的可能原因是什么,小弟感激不尽!

论坛徽章:
0
2 [报告]
发表于 2009-04-10 09:35 |只看该作者
原因太多,自己error处理一下。

论坛徽章:
0
3 [报告]
发表于 2009-04-10 09:41 |只看该作者

回复 #1 huangbt_unix 的帖子

只根据day和hour,会不会是,要创建的目录已经存在?

论坛徽章:
0
4 [报告]
发表于 2009-04-10 10:11 |只看该作者
要创建的目录已经存在的话,if ((chdir(s2) != 0) && (errno == 2))这个条件就不会成立了。
现在我已加上strerror(errno)了,但是因为出这个问题的概率很小,不好跟踪,所以才来请问大家的。

论坛徽章:
0
5 [报告]
发表于 2009-04-10 10:24 |只看该作者
会不会是创建的目录太多了?

论坛徽章:
0
6 [报告]
发表于 2009-04-10 10:27 |只看该作者
我看你只能盼望下一次出错快点到来了

论坛徽章:
0
7 [报告]
发表于 2009-04-10 10:56 |只看该作者
原帖由 alexhappy 于 2009-4-10 10:24 发表
会不会是创建的目录太多了?

应该不会,i结点占用还是很少的,而且程序重启后又可以正常运行了。

论坛徽章:
0
8 [报告]
发表于 2009-04-10 11:15 |只看该作者

回复 #7 huangbt_unix 的帖子

据说可以让程序产生CoreDump文件,当程序崩溃时,用gdb直接调用coredump文件,查看运行运行时堆栈

论坛徽章:
0
9 [报告]
发表于 2009-04-10 11:17 |只看该作者
原帖由 雨过白鹭洲 于 2009-4-10 10:27 发表
我看你只能盼望下一次出错快点到来了

下一次再出错,我会被老板骂死的,晕!

论坛徽章:
0
10 [报告]
发表于 2009-04-16 17:15 |只看该作者
会不会是目录创建太多了啊?
我记得UNIX系统里面有个目录数上限的吧?
弱弱地说一句~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP