February 10, 2003
Jag har ett program (skrivet i fortran) som ska köras över en websida,
för att få CGIn att starta processen så kan jag antingen använda:
$cmd = "/Apache2.2/GHT_webinterface.exe $INPUT1 $INPUT2 $INPUT3 $INPUT4 $INPUT5";
för att ställa in sökvägen, INPUT variablerna kommer som input from websidan.. Sen körs
system "$cmd";
för att starta processen.
Med den här metoden så får jag problemet att alla utskrifter som programmet gör skrivs på en och samma rad.
Någon som vet om det finns något sätt att ta hand om utdatan från fortran programmet ? (själv resultatet kommer i en textfil på servern, men eftersom programmet kan ta allt mellan 30s till 3h beroende på hur stort problemet är, så är utskrifterna nödvändiga för att se hur långt programmet kört).
Den andra metoden går ut på att man öppnar den som en fil
open ( IN, "$cmd |") || "dien";
while ($a =<IN>){
print " $a
";
}
close (IN);
problemet med den här är att den skickar inte någon data till websidan förrän programmet exekverat klart(och eftersom programmet behöver såpass lång tid så har websidan slutat lyssna på CGIn när den väl är klar)
1 Guest(s)