Difference between revisions of "Daemonise.c"
From Organic Design wiki
m |
m |
||
| Line 5: | Line 5: | ||
if ((pid = fork()) < 0) { | if ((pid = fork()) < 0) { | ||
syslog(LOG_ERR, "fork: %m"); | syslog(LOG_ERR, "fork: %m"); | ||
| − | shutdown(evListen->h, 2); | + | //shutdown(evListen->h, 2); ??? |
return errno; | return errno; | ||
} else if (pid) return 0; | } else if (pid) return 0; | ||
Revision as of 04:01, 21 July 2006
// Convert running program into a system daemon pid_t pid; int hNull;
if ((pid = fork()) < 0) { syslog(LOG_ERR, "fork: %m"); //shutdown(evListen->h, 2); ??? return errno; } else if (pid) return 0;
close(STDIN_FILENO); close(STDOUT_FILENO); close(STDERR_FILENO);
hNull = open("/dev/null", O_RDWR); dup2(hNull, STDIN_FILENO); dup2(hNull, STDOUT_FILENO); dup2(hNull, STDERR_FILENO);
if (hNull > STDERR_FILENO) close(hNull);
setsid();



