2011-10-12 55 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