免费注册 查看新帖 |

Chinaunix

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

为什么我的进程只能运行2个小时左右 [复制链接]

论坛徽章:
2
白羊座
日期:2013-09-12 21:13:11酉鸡
日期:2014-12-18 13:56:26
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-01 10:28 |只看该作者 |倒序浏览
部分代码:
int init_daemon()
{
    pid_t pid;
    int i, j = 0;
    pid=fork();
    if(pid<0)
    {
        printf("error in fork\n");
        exit(1);
    }else if(pid>0)
        exit(0);
    setsid();
    for(i=0;i< 3 ;++i) /* close STDOUT, STDIN, STDERR, */
        close(i);
    umask(0);

  return 0;
}


int main()
{
    char ems_msg[1024];

    int ret;
    char smscomment[128];
    API_PARA param;
    memset(&param,0,sizeof(API_PARA));

    setParam(param);
    ret =  SetKey("111111111111");
    if(init_daemon() == -1){

        printf("can't fork self\n");

        exit(0);

    }
    char filepath[255];
    char comment[255];
    sprintf(filepath, "/opt/server/project/pms5/src/smstemplate_ansi");
    FILE *fp;

    if( ( fp = fopen( filepath, "r" ) ) == NULL ){
        return -1;
    }

    fgets( comment, 254, fp );
    fclose(fp);
    while(1)
    {
        DIR   *dp;
        struct dirent *dirp;
        char searchDir[256];
        char filename[255];
        char telNo[40];
        char from[40];
        char smsComment[512];

        sprintf( searchDir, "%s", "/datappurio30/smssendbox/inbox_noti/newsms/" );
        dp = opendir(searchDir );

        while ( (dirp = readdir (dp)) != NULL )
        {
            sprintf(filename , "/datappurio30/smssendbox/inbox_noti/newsms/%s", dirp->d_name);

            if( get_readfile( filename, ems_msg ) < 0 ){
                continue;
            }
            if( ret = GetKeyValue( ems_msg, "TELNO::=", telNo ) < 0 ) continue;
            if( ret = GetKeyValue( ems_msg, "TELERNO::=", from ) < 0 ) continue;

            sprintf(smsComment, comment, from);
            ret = SendSMS( param.sn, telNo, smsComment, param.priority );
        }

        sleep(10);
    }
    return 1;
}

论坛徽章:
2
白羊座
日期:2013-09-12 21:13:11酉鸡
日期:2014-12-18 13:56:26
2 [报告]
发表于 2009-12-01 10:44 |只看该作者
靠,找到了, dp没有close .....被害死了

论坛徽章:
0
3 [报告]
发表于 2009-12-01 11:20 |只看该作者
一看LZ的标题我就知道有泄露了(句柄泄漏,内存泄漏都有可能导致这个现象的)

论坛徽章:
0
4 [报告]
发表于 2009-12-01 15:05 |只看该作者
典型问题

论坛徽章:
0
5 [报告]
发表于 2009-12-01 15:08 |只看该作者
原帖由 lssliu 于 2009-12-1 10:44 发表
靠,找到了, dp没有close .....被害死了

.............
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP