Skip to content

Commit 04b8e83

Browse files
committed
added:deamon running in linux
1 parent 187cd8c commit 04b8e83

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

XEngine_Source/XEngine_MQServiceApp/XEngine_MQServiceApp.cpp

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,37 @@ void ServiceApp_Stop(int signo)
6060
exit(0);
6161
}
6262

63+
static int ServiceApp_Deamon(int wait)
64+
{
65+
#ifndef _WINDOWS
66+
pid_t pid = 0;
67+
int status;
68+
pid = fork();
69+
if (pid > 0)
70+
{
71+
exit(0);
72+
}
73+
74+
close(2);
75+
while (1)
76+
{
77+
78+
pid = fork();
79+
if (pid < 0)
80+
exit(1);
81+
if (pid == 0)
82+
{
83+
return 0;
84+
}
85+
waitpid(pid, &status, 0);
86+
87+
if (wait > 0)
88+
sleep(wait);
89+
}
90+
#endif
91+
return 0;
92+
}
93+
6394
int main(int argc, char** argv)
6495
{
6596
#ifdef _WINDOWS
@@ -105,6 +136,7 @@ int main(int argc, char** argv)
105136
if (st_ServiceCfg.bDeamon)
106137
{
107138
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("初始化守护进程..."));
139+
ServiceApp_Deamon(1);
108140
}
109141

110142
if (!SessionModule_Client_Init())

0 commit comments

Comments
 (0)