Thread Problem mit neuem Prozess
(13 answers)
Opened by anamollo4music at 2013-03-20 14:04
Also...
Fork() scheint unter Windows zu funktionieren. Habe jetzt ein kleines Testprogramm geschrieben, welches einen "Child-Prozess" ausführt. Der Childprozess soll 30 Sekunden laufen, er soll aber vom Parent-Prozess bereits nach 5 Sekunden beendet werden. Beim "kill"-Versuch gibt mir die Konsole aus "Terminating on signal SIGHUP(1)" (Meldung kommt nach 3 Sekunden). Der Child-Prozess läuft aber weiter! Parentprozess.pl Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 my $pid; $pid = fork(); if($pid == 0) { # im Kindprozess exec("perl D:\\privat\\fork\\child.pl"); } else { sleep(3); kill 1,$pid; } Child-Prozess: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 use IO::Handle; local $| = 1; # Buffer flushen while(1) { print "Kind laeuft!"; sleep(1); } Warum beendet der den Kindprozess nicht? Habe auch schon mit "kill 9,$pid;" das killen probiert. Erfolglos: Kind läuft weiter. Gruß |