Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]6020[/thread]

Laufzeit begrenzung: wie begrenze ich die Laufzeit ?

Leser: 1


<< |< 1 2 >| >> 11 Einträge, 2 Seiten
eisbeer
 2004-01-17 14:00
#79217 #79217
User since
2003-08-29
347 Artikel
BenutzerIn
[Homepage] [default_avatar]
Kurze Frage:

Wie kann ich die Laufzeit eines Scriptes begrenzen?
Läuft es länger als z.B. 20 sekunden bricht es ab, bzw.
wird es gekillt ....

Ideen ?

Vielen Dank,
eisbeer
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
eisbeer
 2004-01-17 14:13
#79218 #79218
User since
2003-08-29
347 Artikel
BenutzerIn
[Homepage] [default_avatar]
Sorry total vergessen:

Ich arbeite zwar momentan auf Windows, möchte
aber auch wissen, wie es auf anderen OS's ausschaut.

Also:
Wie geht es auf Win2k? (primär)
Wie geht es zB auf Linus? (sekundär)

Danke :)
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
KKO
 2004-01-17 19:17
#79219 #79219
User since
2003-11-05
124 Artikel
BenutzerIn

user image
wenn du es script-seitig lösen willst ... wie wäre es hiermit
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
my $start = time();

while (time()-$start <20 ){

... Programmbereich ....


}
exit;
Gruß
KKO
DS
 2004-01-17 19:26
#79220 #79220
User since
2003-08-04
247 Artikel
BenutzerIn
[default_avatar]
Ich würde mal sagen mit alarm:

Code (perl): (dl )
1
2
3
4
5
6
7
my $erg = eval {
  local $SIG{ALRM} = sub { die };
  alarm(20);
  my $erg = &mach_was;
  alarm(0);
  $erg;
};
\n\n

<!--EDIT|DS|1074360408-->
eisbeer
 2004-01-17 19:33
#79221 #79221
User since
2003-08-29
347 Artikel
BenutzerIn
[Homepage] [default_avatar]
Noi loider it, denn wenn ich ne
Endlosschleife in meinem Script
hätte, würde das ding keinen
effekt haben.

Aber ansich hat es sich schon
erledigt, ich habe meinen Fehler
gefunden, denn:

Ich habe ein CGI-Programm ge-
schrieben und ich hatte immer
mit einem Modul ein Problem, das,
wenn ich es falsch aufgerufen
habe, eine endlosschleife aus-
gelöst hat. Und da ich, um das
Programm zu testen, es im Browser
anschauen musste, hat sich der
Perlinterpret immer weiter in seinem
Datenmüll verhäddert, und ich
konnte ihn nicht abbrechen, da
das Script ja vom httpd aufgerufen
wurde, und man einen Perlprozess
unter Win2k nicht ohne weiteres
mit dem Taskmanager beenden
kann.
Tja und dann musste ich immer
neu starten, denn binnen 30
Sekunden hat mein Script den
RAM mit 500 MB speicher zuge-
müllt, und dann ging trotz 1GB
RAM garnix mehr. Aber ich hab das
dumme Problem von dem Modul
gefunden. :)
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
eisbeer
 2004-01-17 19:35
#79222 #79222
User since
2003-08-29
347 Artikel
BenutzerIn
[Homepage] [default_avatar]
DS dein's funktioniert, sollte ich mir merken,
evtl. sollte man es sogar ins FAQ aufnehmen.

mfg, ich muss essen :)
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
Strat
 2004-01-18 14:27
#79223 #79223
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
wenn der apache als dienst gestartet ist, kannst du ihn mit
Code: (dl )
1
2
net stop apache
net start apache

neu starten; das beenden dauert zwar ein bisschen (meist so 30 sekunden), wenn ein perl-script "haengt", aber es geht doch meistens schneller als ein reboot
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
eisbeer
 2004-01-18 15:29
#79224 #79224
User since
2003-08-29
347 Artikel
BenutzerIn
[Homepage] [default_avatar]
Weis ich schon, aber das hat perl auch nicht
(immer) gekillt, komischerweise...
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
kabel
 2004-01-18 19:27
#79225 #79225
User since
2003-08-04
704 Artikel
BenutzerIn
[default_avatar]
aus perlwin32:

Quote
Signal handling may not behave as on Unix platforms (where
it doesn't exactly "behave", either). For instance,
calling "die()" or "exit()" from signal handlers will
cause an exception, since most implementations of "sig-
nal()" on Win32 are severely crippled. Thus, signals may
work only for simple things like setting a flag variable
in the handler. Using signals under this port should cur-
rently be considered unsupported.


aber solange es funktioniert 8) ...
-- stefan
eisbeer
 2004-01-18 23:03
#79226 #79226
User since
2003-08-29
347 Artikel
BenutzerIn
[Homepage] [default_avatar]
Nichts ist so wie es scheint, wundersam :)
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2004-01-17 14:00.