我有一个守护进程的守护进程。
此守护程序使用mysql连接器库访问数据库。
当我不分叉时,我能够打开并读取数据库,但是,当我分叉时,我得到了
MySQL server has gone away
第一次查询时错误一致......
任何人都知道造成这种情况的原因是什么?
答案 0 :(得分:2)
编辑哦,我为误解而道歉
守护程序/非守护程序之间的差异仍然大致与以下类选项有关:
分离的stdin / stdout造成麻烦(IMO意味着设计糟糕的库,但我是谁)
观察特定资源(文件锁,套接字连接,线程(!))是否通过fork / execve继承 NOT 。我建议阅读关于守护进程的链接(下面),特别是例如“互斥和运行单一副本[open,lockf,getpid]”一节
我确定我忘记了什么
嗯......你在为什么开始一个mysql服务器进程? Mysql有很多可以工作的声音初始化脚本。
关于适当守护的主题:http://www.enderunix.org/docs/eng/daemon.php
注意与fork子项共享资源的影响(例如文件描述符)。
除此之外,您可能只是缺少基本的环境设置。仔细阅读mysql的官方init脚本,找出你需要的东西。