CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  专题开发/技术/项目 >  网络通信

各位高手,请进来看看(daemon问题)

楼主superdreamer(只懂一点点!)2001-11-15 10:47:26 在 专题开发/技术/项目 / 网络通信 提问

我将我的服务器端程序改为daemon方式,在我的程序中要与数据库(mysql)相连,但在我设为daemon以后,就连接不上数据库了?whY?我应该这样才能达到我的目的。分就这么多   了,各位帮帮忙?谢谢了,先! 问题点数:20、回复次数:3Top

1 楼lurenfu(具有中国特色的社会主义初级阶段,一百年不变)回复于 2001-11-15 11:04:26 得分 20

你最好在处理完命令行参数后马上daemon,daemon一般会fork两次,关闭所有打开的文件描述符。你连接mysql时,要打开socket,这也属于文件描符,可能被关闭了。所以建议你在daemon以后再连接mysql数据库。在linux里,GLIBC库中有一个库函数:int   daemon(   int   nochdir,   int   noclose   );可以将你的程序变成daemon。其中参数nochdir如果为0的话,将改变程序工作路径到"/",如果noclose为0的话,将关闭所有终端,也就是你将不能输出信息到控制台。如果不为0的话,则相反。Top

2 楼lurenfu(具有中国特色的社会主义初级阶段,一百年不变)回复于 2001-11-15 11:08:23 得分 0

我写daemon的一般流程:  
  int   main(   int   argc,   char   **argv   )  
  {  
        ArgInit(   argc,   argv   );//处理命令行参数,可用getopt_long()  
        ConfInit();//如果有配置文件,处理配置文件中的选项  
        AppInit();//APP初始化工作,在这个函数里执行daemon()函数,至于是在开头还是结尾执行,视具体情况而定  
        AppRun();//这里就不说了  
        return   0;  
  }Top

3 楼superdreamer(只懂一点点!)回复于 2001-11-15 11:14:24 得分 0

非常感谢,我搞定啦!我把连接mysql时的哪个   sock文件描述符给关闭了,再次感谢,结帐!Top

相关问题

  • 各位大哥请进来帮忙!
  • 各位fastreport高手请进来看看!
  • 各位大哥请进来看一下。
  • Holyfire,Luhongjun,put_get和各位大虾,请进来研究一下:
  • 各位高手请进来看看!多提点意见!
  • C/C++的各位朋友,请进来捧场
  • 排序的问题!!!!各位请进来瞧瞧!
  • 各位斑竹请进来,紧急求救呀!!!!!
  • 救命呀!各位exchange高手请进来看看!谢谢!!!
  • 各位高手,快请进来看一下!

关键词

  • 函数
  • 数据库
  • 连接
  • 文件
  • mysql
  • daemon
  • 参数
  • 程序
  • 关闭
  • 处理

得分解答快速导航

  • 帖主:superdreamer
  • lurenfu

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo