Siechfred: Traceroute -> Laufzeit-problem

Beitrag lesen

Hallo Manuel.

Ich habe ein "Laufzeit-problem" mit diesem Traceroute-Prozess:
Und zwar kommt es abundan vor, dass das Traceroute überhaupt nicht abgeschlossen wird und dann als offener Prozess den Server belastet.

Du könntest die Perl-eigene Signalbehandlung nutzen:
http://www.perldoc.com/perl5.8.4/pod/perlipc.html#Signals
http://www.perldoc.com/perl5.8.4/pod/func/alarm.html

In deinem Fall sollten dir $SIG{'ALRM'} und die Funktion alarm() weiterhelfen. Das könnte so ausehen:

Am Anfang des Programmes:

$SIG{'ALRM'} =&alarm_func;   # setzt einen Zeiger auf die Alarmfunktion
alarm(60);                    # setzt die maximale Ausführungszeit auf 60 Sekunden

Und die Subroutine:

sub alarm_func {
  alarm(0);
  # Fehlermeldung ausgeben
  exit(0);                    # Script beenden
  }

Das funktioniert natürlich nur beim Aufruf von Systemprozessen. Vielleicht hilft's ja.

Freundschaft!
Siechfred

--
Wissen bedeutet zu wissen, wo es steht.