【发布时间】:2015-10-11 17:46:15
【问题描述】:
我正在尝试在 perl 脚本中的 scp 命令期间在没有 ssh 公钥的服务器经过一定时间后退出密码输入提示。在此脚本中,我使用反引号将文件从一台服务器复制到另一台服务器,但脚本卡在密码提示符上,即使在指定的超时后也不会退出。
my $test = '';
my $exit_value = '';
eval {
my $timeout = 2;
local $SIG{ALRM} = sub { die "timeout\n" };
alarm($timeout);
$test = `scp foo.txt bar@baz:/`;
$exit_value = $? >> 8;
alarm(0);
}
if ($@) {
print "Time out";
}
有没有办法处理上述情况?
【问题讨论】: