Joerg Rossdeutscher wrote:
fork dupliziert den Thread und seinen Speicher. Damit teilen beide zwar
fork erzeugt normal einen neuen Prozess, keinen Thread.
die gleichen offenen Files, Variablen sind aber unabhängig voneinander.
Das heißt, alle Variablen sind Threadsafe? Warum benutze ich dann threads und nicht gleich eigene Prozesse?
Der von mir gepostete Code ist "von sauberer Programmierung befreit" :-), prinzipiell sollte man aus obigem Grund z.B. STDOUT nach dem fork'en schliessen und neu öffnen, damit beide Prozesse schreiben können.
Außerdem disoziiere ich den Child-Prozess. Damit sollte er eigentlich eigenständig werden und "dämonisieren". Was auch der Sinn der Sache ist.
Das hast du ausprobiert? der Child läuft unter ppid == 1? Ich bin mir jetzt zu 99% sicher, das du mit einem Perl arbeitest, welches nicht das nativ fork() benutzt, sondern diese fork-emulation. cu Gerald