今天遇到了一个问题,在服务器上开设的BitComet总是会莫名其妙的死掉,于是必须找到一种方法让他死掉之后能再一次启动。
这类问题高手也许很容易就能解决,但是像我这种小笨笨,怎么想也想不出好的办法,只好使用笨办法了。
use Win32::Process;
use Win32;
sub ErrorReport
{
print Win32::FormatMessage( Win32::GetLastError() );
}
while(1)
{
($Second, $Minute, $Hour, $Day, $Month, $Year, $WeekDay, $DayOfYear, $IsDST) = localtime(time);
$Year += 1900;
$dt = "$Year-$Month-$Day $Hour:$Minute:$Second";
print "Start at $dt ... /n";
Win32::Process::Create($ProcessObj, "G://BitComet.exe",
"",
0,
NORMAL_PRIORITY_CLASS,
".")|| die ErrorReport();
$ProcessObj->Suspend();
$ProcessObj->Resume();
$ProcessObj->Wait(INFINITE);
}
exit;
看到这段程序,其中最关键的就是那个while(1)循环,用这个循环,然后配合里面的内容,就可以让BitComet一直运行着,死掉、就在运行。
虽然说很简单,但是因为没有经验,所以也不知道会出什么问题,是否存在隐患,因而希望大家共同交流。