003
09.05.2003, 12:50 Uhr
virtual
Sexiest Bit alive (Operator)
|
Grobe skizze fürs fork:
C++: |
pid_t child;
child = fork() if (child<0) { /* Fork ging schief */ perror("fork"); exit(1); }else if (child==0) { /* Okay, wir sind im child process. Normalerweise wird man nun hier den Code für den eigentlichen Serverteil reinschreiben. */
/* Üblicherweise macht man den Server nun zum Sessionleader */ setsid();
/* Für SVR4 ist empfehlenswert, hier abermals zu forken, um zu verhindern, daß jemand über ein Terminal Kontrolle über den Demon (aka Server) bekommt. */
/* Gehe in ein Verzeichnis, welches garantiert immer da ist */ chdir("/");
/* File create mask zurücksetzen, wer weiß, was davor geschehen ist */ umask(0);
/* Nicht benötigte Descriptoren schließen */
/* Eigentliche Arbeit anfangen */ }else { /* Normalerweise läßt man nun den Parent process vom Server Kurz und schmerzlos sterben */ exit(0); }
|
-- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) |