Wenn ich mich nicht total irre, dann ist die unter Unices dafür übliche vorgehensweise
if ((child=fork())==0) {
// Der "Child"-Prozess
be_daemon();
} else {
// Der "Vater"-Prozess
exit(irgendwas);
}
Der Chiuld-prozess bleibt erhalten, und wird von /etc/init adoptiert, und läuft dann als "dämon weiter".
HTH
/
Habs ausprobiert....
// file: test.c
int main(void)
{if (fork()) {exit(0); }
else {while (1);}
}
gcc -o t test.c
t # und hab dann gleich wieder die Shell
ps -l
PID PPID %C PRI NI SZ RSS WCHAN S TT TIME COMMAND
26878 1 5 10 20 960 80 R pts/8 0:01 t
exit
War also doch nicht so falsch !