Thread Mehrere Prozesse für Dual/Quad Core (6 answers)
Opened by Snicker at 2008-09-05 21:24

Gast Gast
 2008-09-06 00:30
#114310 #114310
Hab mich jetzt eng an deine Vorlage gehalten.
Für "elsif (!$pid)" komme ich erst gar nicht in die Schleife rein, daher hab ich es umgeändert zu "elsif ($pid)".
Die gestarteten Prozesse werden auch bearbeitet, nur muss ich mir jetzt was überlegen, wie ich nur maximal $cores Prozesse startet.
Aber vielen Dank erstmal für deine Hilfe!
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$q = 0;
my $k1 = 0;
my $cores = 2;
my $test1;
while ($q < @einstellungen_para_wert[3]){
    for (1..$cores){
        my $pid = fork() ;
        unless (defined $pid) {
            die "Could not fork $!";
        }
        elsif ($pid){
            print "\t$q\n";
            open (BATCHDATEI, ">$batch$q.bat");
            print BATCHDATEI "\@echo off\n CopasiSE @einstellungen_para_wert[2]@einstellungen_para_wert[0]$q@einstellungen_para_wert[1] --save @einstellungen_para_wert[2]@einstellungen_para_wert[0]$q$random@einstellungen_para_wert[1]";
            system ("$batch$q$batchformat");
            exit (0);
        }
        else{
            print "$q Simulation wird berechnet \q = $q\n";
            $q++;
        }
    }
}

View full thread Mehrere Prozesse für Dual/Quad Core