Es ist zum aus der Haut fahren. Ich habe ein Perlskript geschrieben, was installation von kleinen Dateien macht. Es kann durchaus dazu kommen, das 20-30 Sachen installiert werden. Wenn die Installation auf einen Fehler läuft ist alles wunderbar. Der Aufruf kommt zurück, ich kann Fehlerauswertung machen und es geht weiter.
Jetzt zu meinem Problem: Es kann unter Umständen allerdings vorkommen, dass sich der Installationsprozess aufhängt und nicht mehr zurückkommt. Das heißt ich bekomme keinen Fehler keinen OK und einfach gar nichts. Das Skript läuft stundenlang, allerdings wird nichts mehr gemacht.
Kann ich irgendwie dafür sorgen, dass der Befehl nach 5 Minuten abbricht wenn er noch nicht fertig ist? Die Installation dauert nämlich nie länger als 2-3 Minuten. +2-3 Minuten Toleranz sind es dann 5 Minuten. Dieser Fall soll nur eintreten, wenn die Installation wirklich stehenbleibt ansonsten nicht.
Würde mich über Antworten und Ideen freuen.
Vielen Dank schon im Voraus.
Mit freundlichen Grüßen
Der Schlampie
User since
2005-12-17
1615
Artikel
HausmeisterIn
[quote=Guest,09.01.2006, 17:09]Es kann unter Umständen allerdings vorkommen, dass sich der Installationsprozess aufhängt und nicht mehr zurückkommt.[/quote]
Hierfür wäre
fork und
waitpid eine Lösung. Siehe auch
hier.
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
User since
2005-02-01
181
Artikel
BenutzerIn
Unter Windows kannst Du anstatt system auch Win32::Process::Create benutzen. Damit hast Du dann ein Handle, auf dem Du ein Wait mit Timout ausführst.
Gruß
Thomas
User since
2003-08-04
5873
Artikel
ModeratorIn
Hast du die Installation auch selbst geschrieben? Dann würd ich lieber dort nach dem Fehler suchen ;)\n\n
<!--EDIT|Crian|1136886413-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;
use strict; use warnings; Link zu meiner Perlseite