Ich wollte mein Konsolenprogramm als Daemon laufen lassen. Habe mir dazu eine Funktion geschrieben die ganz grob in etwa so aussieht:
Code: Alles auswählen
void start_daemon()
{
...
fork();
chdir("/tmp");
umask(0);
for(i=sysconf(_SC_OPEN_MAX); i>0; i--) close(i);
...
}
Code: Alles auswählen
...
debug(INFO, "Lese ./netref.conf ein.");
sprintf(cFilename, "./netref.conf");
debug(INFO, "BLAAAA");
if ( stat( cFilename, &tConfAttr ) != 0 )
{
debug(INFO, "netref.conf im lokalen Verzeichnis nicht gefunden. Lese /etc/netref/netref.conf ein.");
sprintf(cFilename, "/etc/netref/netref.conf");
if ( stat( cFilename, &tConfAttr ) != 0 )
{
debug(ERROR, "netref.conf wurde nicht gefunden! Beende daher NetRef!!");
return(EXIT_FAILURE);
}
}
debug (INFO, "BLUB");
...
Hab ich irgendetwas übersehen?
Gruß
Thorsten