Thread timeout für system-Befehle (3 answers)
Opened by bieber at 2009-04-14 15:36

bieber
 2009-04-14 15:36
#120560 #120560
User since
2007-06-18
148 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich hatte vor Ostern leider einen "Absturz" meines Linuxservers. Nach längeren Suchen habe ich nun festgestellt, dass ich Scheiße programmiert habe^^.

Folgendes ist mir passiert: Ich starte per system-Aufruf eine Abfrage an einen fremden Server im LAN und gebe die Rückantwort dann im Perlprogramm aus. Funktioniert im Normalfall auch...nur leider kam es halt dazu, dass die Abfrage nicht lief; das Netzwerk war weg oder so...
Bietet Perl eine Funktionalität für einen Timeout? Sprich wenn nach 5Minuten nichts zurückgekommen ist beende das Script + den gestarteten system-Prozess.

mein Aufruf sieht übrigens so aus (vielleicht ist das ja schon nicht so clever):
Code (perl): (dl )
1
2
3
my $return = qx "$string";
$return =~ s/\n/\n<br>/g;
print $return;

Ja ich weiß, dass Perl selbst abfragen per ssh, telnet usw. an andere Server schicken kann, das funktioniert in meinem Fall aber leider nicht :-(.

Wäre schön wenn mir jm. nen Tipp geben könnte. Ich hatte schon überlegt ne Schleife zu basteln die alle 2Sek. abfragt ob $return einen Wert hat und demenstprechend zu reagieren... aber ist ja schwachsinn, weil das Perlprogramm ja an der Stelle wartet wo ich mit qx den System-Call absetze, oder?

Mir sind jetzt leider die Ideen ausgegangen, kann mir vielleicht jm. helfen? Danke.
Es gibt immer Leute die meinen, sie seien schlauer als ich. Das Schlimmste ist, sie sind es auch.

View full thread timeout für system-Befehle