exit(0) beendet nicht alles
-
Hi zusammen,
habe folgendes Problem:
Ich habe eine Anwendung, die bei exit(0) manchmal noch weiterläuft. Ich habe also eine Funktion, die bei einer Fehlermeldung ein exit(0) ausführt, um die Anwendung nach Ausgabe der Fehlermeldung zu beenden. Dennoch sind manchmal noch Prozesse übrig, d.h. die Anwendung wird nicht richtig beendet. Bevor die Funktion ausgeführt wird, die eventuell ein exit(0); macht, wird die Anwendung daemonisiert (sagt man das so? *g*). D.h. ich mach einen fork, damit die Anwendung im Hintergrund läuft. Kann das was damit zu tun haben? Außerdem fange ich ziemlich viele Signale ab, unter anderem auch SIGCHLD. Hat das vielleicht was damit zu tun? Weil manchmal klappt das problemlos und ein anderes mal ignoriert er das exit, bzw. lässt Prozesse übrig. Die Anwendung arbeitet zusätzlich noch mit mehreren Threads, die vorher gestartet werden. Die werden aber bei einem exit(0); alle beendet, afaik.
Hat jemand eine Idee?
Gruß
Mike
-
Wenn das unter Linux ist, kann das leicht mal passieren, wenn dein System nicht NPTL verwendet.