use Win32::Pipe; while ($q < ($einstellungen_para_wert[12] * $einstellungen_para_wert[13])){ $pid = fork() ; unless (defined $pid) { die "Could not fork $!"; } #--------------------------------------------------------------------------- # Hier beginnt der Child-Prozess #--------------------------------------------------------------------------- elsif ($pid < 0){ print "bin ein Childprozess\n", $Pipe = new Win32::Pipe("My Pipe Name $q") or die "sorry, i cannot creat a pipe"; print "Pipe wurde erfolgreich erschaffen"; $Result = $Pipe->Connect() or die "sorry, i cannot connect to the pipe"; $Result = $Pipe->Write("Howdy! This is cool!") or die "sorry, i cannot write in the pipe"; $Pipe->Disconnect() or die "sorry, i cannot disconnect to the pipe"; #Hier läuft das Programm mittels dem [i]system()[/i] Befehl $Result = $Pipe->Connect(); $Result = $Pipe->Write("Now i´m ready!"); $Pipe->Disconnect(); exit(0); } #--------------------------------------------------------------------------- # Hier beginnt der Parent-Prozess #--------------------------------------------------------------------------- else{ while ($k1 == $einstellungen_para_wert[12] ){ for ($op = ($q - ($k1 - 1)); $op < ($q ); $op++){ $Pipe = new Win32::Pipe("\\\\server\\pipe\\My Pipe Name $op") or die "sorry, i cannot find the pipe: My Pipe Name $op"; #line 482 $Result = $Pipe->Connect(); $Data = $Pipe->Read(); $Pipe->Disconnect(); if ($Data eq "Now i´m ready!"){ $k1--; $Data->Close(); wait; } } Win32::Sleep 100; #Programm pausiert 0,1 Sek. sonst beansprucht Perl die frei werdenen Ressourcen. } $k1++; $q++; } }