idova1
Goto Top

Programm oder Batch start mit Timeout möglich?

Kann man ein Programm oder eine Batch oder Skript von Perl so starten, dass dieses nach einem Timeout abgebrochen wird?

Hi!

Wir rufen in Perl eine Skript (dort ist z.B. nur ein Befehl enthalten) auf, wie:

@rueckgabe= `e: && cd\Test && Test.bat`; oder auch: @rueckgabe= `Test.exe`;

Das in Test.bat enthaltene Programm läuft machmal nicht durch, somit bleit das Perl Programm hängen.

Wie kann ich es so aufrufen, das es nach eine gewissen Zeit abgebrochen wird?


1000 Dank Leute!
Mirco

Content-Key: 85074

Url: https://administrator.de/contentid/85074

Printed on: April 26, 2024 at 19:04 o'clock

Member: telefix1
telefix1 Apr 09, 2008 at 12:20:25 (UTC)
Goto Top
...google mal bitte nach einem Shutdown-Sleep-Timer. Da ist auch ein Sheduler enthalten, der Programme nach Laufzeit killt.

mfg telefix1
Mitglied: 6741
6741 Apr 09, 2008 at 12:24:38 (UTC)
Goto Top
boradmittel: taskkill, wenn der prozess stehen bleibt ...
Member: idova1
idova1 Jun 02, 2008 at 14:46:24 (UTC)
Goto Top
Die Lösung war:

use English;
@ruck= SystemCmd(”Test.bat”);
print @ruck;
sub SystemCmd
{
eval {
local $SIG{ALRM} = sub { die “Alarm” };
alarm(10);
system($_.”>\\SystemCmd.dat”);
open FILE,”<\\SystemCmd.dat” or print “File fehler\n”;
@dat=<FILE>;
close FILE;
alarm(0);
};
if ($EVAL_ERROR=~ /Alarm/) { return (”Timeout bei $_, Error, ERROR, Timeout Fehler!!”); }
else { return (@dat); }
}#SystemCmd