Thread Problem mit neuem Prozess (13 answers)
Opened by anamollo4music at 2013-03-20 14:04

anamollo4music
 2013-03-20 17:27
#166470 #166470
User since
2013-03-19
42 Artikel
BenutzerIn
[default_avatar]
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ß

View full thread Problem mit neuem Prozess