Linux 进程后台化函数
{
int fr=0;
fr = fork();
if( fr < 0 )
{
fprintf(stderr, "fork() failed\n");
exit(1);
}
if ( fr > 0 )
{
exit(0);
}
if( setsid() < 0 )
{
fprintf(stderr, "setsid() failed\n");
exit(1);
}
fr = fork();
if( fr < 0 )
{
fprintf(stderr, "fork() failed\n");
exit(1);
}
if ( fr > 0 )
{
fprintf(stderr, "forked to background (%d)\n", fr);
exit(0);
}
umask(0);
chdir("/");
close(0);
close(1);
close(2);
open("/dev/null", O_RDWR);
dup(0);
dup(0);
}