* Michael Kastner wrote/schrieb: > vielen Dank f�r die (sehr schnelle!) Antwort. Es gibt auf der > jakarta.apache.org einen Java-Mailserver (James), den ich gerne laufen > lassen w�rde. > > W�hrend es f�r z.B. f�r Tomcat eine rpm gibt, das das diesen gleich als > Server installiert, gibt es das f�r James nicht. In den FAQs steht auch > nichts dr�ber und beim Googeln habe ich auch nichts gefunden. > > Aber was soll ein Mail-Server, der nicht als Daemon l�uft!?
Vor allem was soll ein Mailserver, der in Java programmiert ist? Sowas w�rde ich nicht mal mit der Kneifzange anfassen. > Na ja und nat�rlich interessiert es mich prinzipiell, wie ein Daemon > unter Linux programmiert wird, aber das w�rde hier zu weit f�hren. N�. Das f�hrt nicht zu weit, und ist schnell erkl�rt. Ich kann aber kein C und wei� nur die Methode unter Perl, die sich nicht zu sehr von anderen Sprachen unterscheiden sollte. Unter Perl macht man einen Proze� mit folgenden Aufrufen zum Daemon: use POSIX qw(fork setsid); fork() && exit(0); setsid(); Fork() erstellt eine exakte Kopie des laufenden Prozesses, inclusive der Umgebung und aller internen Variablen. Der R�ckgabewert von fork() in der Kopie ist 0, der R�ckgabewert im Parent ist die Kind-PID. Den Parent beendet man dann (&& exit(), weil der R�ckgabewert im Parent ungleich 0 ist), und das Kind macht eine eigene Proze�gruppe auf. Man mu� im Kind noch ein bi�chen hinter sich aufr�umen, Filehandles nach /dev/null und chdir nach "/", aber das findet sich schon. ;-) -martin -- If your NT box is dead, it is doing what it does best: nothing. ---------------------------------------------------------------------------- PUG - Penguin User Group Wiesbaden - http://www.pug.org

