65,210
社区成员
发帖
与我相关
我的任务
分享
void daemon_setup()
{
int fd;
if( getppid() != 1 ) //这是啥意思? // 这是获取父进程ID啊,看意思都知道啊
{
signal( SIGTTOU, SIG_IGN );
signal( SIGTTIN, SIG_IGN );
signal( SIGTSTP, SIG_IGN );
switch ( fork() )
{
case 0:
/* child continues */
break;
case -1:
/* error exit */
exit(1);
break;
default:
/* parent terminates */
exit(0);
break;
}
/* become session leader and group process leader */
setsid(); //这又是啥意思。 //让该进程成为会话组长和进程组长
}
/*这是个循环啥意思*/
for( fd = 0; fd < 64; fd++ ) //关闭该进程的文件描述符
{
close( fd );
}
return;
getppid():返回调用进程的父进程ID
setsid(): 创建会话并设置进程组ID