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.