2011-10-12 56 views
0

我有一个守护进程分叉进程。C++守护进程分叉会导致mysql错误

该守护进程使用mysql连接库访问数据库。

当我不叉,我能够打开和读取数据库的罚款,然而,当我叉,我得到

MySQL server has gone away 

错误始终在第一个查询...

任何人知道什么可能造成这种情况?

回答

2

编辑哦,我对之间的守护进程的/非进程化,曲解

仍与差异的问题道歉,大致有以下类的选项:

我敢肯定,我忘了的东西

呃...你是什么启动一个MySQL服务器进程? Mysql有大量可靠的初始化脚本,可以工作

在适当的系统守护进程的主题:用叉子儿童(例如文件描述符)资源共享的效果http://www.enderunix.org/docs/eng/daemon.php

留意。

除此之外,你可能只是缺少基本的环境设置。仔细阅读mysql的官方init脚本,找出你需要的。

+1

你是什么意思开始一个MySQL服务器进程?我正在做我自己的守护进程,只是使用MySQL连接库来访问数据库。我不会在fork之前保留任何文件描述符。我需要的一切都是在分叉后创建的。 – user623879

+0

对不起,误解了。更多的背景信息更新的答案 – sehe

+0

我禁用stdin /标准输出/ stderr..apparently MySQL连接器依赖于此ffs ...感谢提及! – user623879