SuExec + stoppen langlaufender CGI-Prozesse
Posted: 2010-03-22 00:48
Guten Abend,
ich hab ein recht komisch anmutendes Problem.
OS: SLES 10 SP3
Konfig: Apache 2.0 mit mod_cgi, mod_perl
Wir habe das Problem, dass ein Apache ein laufendes CGI-Script abbricht, sobald der User im Browser auf Stop klickt. Auf einem früheren Server mit suexec liefen diese scripte aber problemlos weiter. Die Scripte sind im Sinne dieses Verhaltens entwickelt worden.
Ein Test mit folgendem Script:
brachte folgendes Ergebnis. Ohne Suexec laufen die Prozesse als Apacheuser und werden beim Stop im Browser beendet (nach ca. 2 Sek). Läuft das Script unter suexec (mittels yast installiert) kann Apache das Script anscheinend nicht korrekt abbrechen und des läuft weiter bis zum Ende.
Ich frage mich nun, was ist das richtige Verhalten. Hat Apache keine Rechte den mittels suexec gestarteten Prozess zu killen? Oder andersherum, kann ich Apache so konfigurieren, dass es CGIs nicht abbricht, so dass ich das Verhalten wie unter suexec erhalte.
SuExec soll auf den aktuellen Systemen eigentlich nicht mehr eingesetzt werden.
Eine Recherche brachte nichts wirklich hilfreiches zu Tage.
Über eine Idee wäre ich sehr dankbar.
mfg
Andreas
ich hab ein recht komisch anmutendes Problem.
OS: SLES 10 SP3
Konfig: Apache 2.0 mit mod_cgi, mod_perl
Wir habe das Problem, dass ein Apache ein laufendes CGI-Script abbricht, sobald der User im Browser auf Stop klickt. Auf einem früheren Server mit suexec liefen diese scripte aber problemlos weiter. Die Scripte sind im Sinne dieses Verhaltens entwickelt worden.
Ein Test mit folgendem Script:
Code: Select all
#!/usr/bin/perl
print "Content-Type: text/html\n\n";
$|=1;
open(TABLEFILE, ">./test.txt");
close(TABLEFILE);
print " test 22.03.2010";
for(my $x=1; $x <= 500; $x++){
open(TABLEFILE, ">>./test.txt");
print TABLEFILE time . ' ' . $x . "\n";
close(TABLEFILE);
print "$x<br />";
sleep(1);
}
Ich frage mich nun, was ist das richtige Verhalten. Hat Apache keine Rechte den mittels suexec gestarteten Prozess zu killen? Oder andersherum, kann ich Apache so konfigurieren, dass es CGIs nicht abbricht, so dass ich das Verhalten wie unter suexec erhalte.
SuExec soll auf den aktuellen Systemen eigentlich nicht mehr eingesetzt werden.
Eine Recherche brachte nichts wirklich hilfreiches zu Tage.
Über eine Idee wäre ich sehr dankbar.
mfg
Andreas