Ich stehe vor dem sicher bekannten Problem, dass ich über CGI ein (vor allem auf einem geteilten Server) zeitaufwändiges Skript anstoßen und mit diesem unabhängig vom Apache-Timeout eni später abrufbares Ergebnis erzeugen will.
Ich habe dieses Ansinnen auf unserem internen Testserver (Win32/Apache 2.0/Perl 5.00402) erfolgreich mit folgendem Code realisiert:
script 1.pl
---schnipp---
...
...
$parameter = /* irgendwelche Kommandozeilenparameter*/);
close(STDIN);
close(STDOUT);
close(STDERR);
exec ("script2.pl $parameter");
#Ende Script 1.pl
---schnapp---
Die o.g. Form von exec habe ich gewählt, da exec(param1, param2, ...) nicht ging und der KOmmandozeilenparameter auch erst zur Laufzeit erzeugt wird, was so irgendwie einfacher ging. Script2.pl zieht sich die einzelnen Parameter dann aus $ARGV[0] und erzeugt ein Ergebnis (konkret eine Datei).
Wie gesagt, hier auf unserer Umgebung klappt das so genau nach Plan. Auf dem Server des Providers (Linux/Apache 1.3/Perl 5.00503) klappt das jedoch nicht, warum, weiß der Provider auch nicht; wissentlich habe er keine diesbezüglichen Restriktionen eingerichtet. Perl spuckt dort auch außer ein paar Warnungen (die aber nichts damit zu tun haben) nichts verdächtiges auf dem Fehlerkanal aus.
Antworten und alternative, erprobte Lösungswege gerne (auch) an selfhtmlforum-bei-davidbln(punkt,-)de, ich schaue aber auch hier die nächste Zeit immer mal rein.
Danke im Voraus!