请教:创建守护进程的代码中,一句迷惑(没分了,实在抱歉):
int main(int argc,char * argv[])
{
......
......
BackGroundSvr();/*此方法创建守护进程*/
......
......
//main函数继续作很多处理
......
}
int BackGroundSvr( void )
{
pid_t pidSub;
pidSub = fork();
if ( pidSub<0 )
exit( 1 );
else if ( pidSub > 0 )
{
exit( 0 ); //请问在这句里面, exit(0)后,父进程不是退出了吗?? 为什么main函数在调用了BackGroundSvr后,下面还有很多处理的工作, 下面那些代码怎么能执行得到呢?? 难道exit后,main还能够继续往下运行。
}
else
{
setsid();
/*chdir( "/" );*/
umask( 0 );
}
return 0;
}