我编写了一个 Perl 脚本,它一个接一个地连接到一组 URL。每次连接到 URL 时,它都会获取结果并对其执行一些操作。
但是,有几种可能会发生错误。
我试图解决的最重要的问题是可用性问题。Internet 连接可能会在两者之间停止工作。因此,假设我有一个包含 1000 个 URL 的列表,脚本已成功通过其中的 500 个,然后 Internet 停止工作,因此脚本因错误而中止。我想控制这种情况并在这里实现暂停和恢复功能。
几行代码来解释:
$mech=WWW::Mechanize->new();
$mech->timeout(10);
$url="http://example.com/index.php?id=";
while(<INPUT>)
{
chomp $_;
$word=$_;
$url=$url.$word;
eval{$mech->get($url);};
if($@)
{
# Pause the Script once the if condition evaluates to true
}
....
}
可能有几种情况我想暂停脚本。
所以,我知道我需要向脚本传递某种信号,这会导致它暂停。同时,应该有一个功能提供给最终用户,他们可以按“一些组合键”来恢复脚本。
我的猜测是,这将涉及一些操作系统 API 调用。
在 Linux 上,有一种方法可以通过按 Ctrl+Z 组合键来暂停进程。
但是,我不确定如何在 Perl 脚本中自动执行此操作。
如果您需要更多详细信息以便找到解决方案,请告诉我。
谢谢。