다음은 제가 인수인계 받은 소스의 일부분입니다.
int GoDaemon(void) {
int i;
pid_t pid;
if ( (pid = fork()) != 0)
{
exit(0); //Terminate. destroy parent - daemon
}
setsid(); // set session leader
if ( (pid = fork()) != 0)
{
exit(0); //Terminate. destroy the 2nd parent - daemon
}
umask(022);
chdir("/");
for (i = 0; i < 64; i++) // clear fd
close(i);
return 0;
}
프로그램을 데몬으로 띄우면 보통 다음과 같이 프로그램을 짜는데