gpt4 book ai didi

linux - 使用 Perl 的 telnet 连接出现 "pattern match read eof"错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:11:26 27 4
gpt4 key购买 nike

我正在尝试打开一个 telnet 连接,执行一些命令,然后终止连接。我需要它运行大约 1000 次。该脚本在多次尝试后运行良好 [比如 23 - 25 次左右]。然后,我收到以下错误:

“模式匹配在 perlscript.pl 第 23 行读取 eof”

第23行对应代码

$tn->waitfor('/​​密码:/i')

出现这个错误后,如果我尝试手动打开 telnet 连接,我会得到一个错误:

服务和队列已满,请稍后再来

我想我收到第一个错误“模式匹配读取 eof”是因为 telnet 连接因“服务和队列已满”错误而终止。

我试图对问题进行更多调试,当我检查日志时,我遇到了这个错误:

2012 08 08 10:27:46 EDT:发生异常:
java.lang.NullPointerException
在 dtw.telnetd.net.Connection.close(Connection.java)
在 dtw.telnetd.net.ConnectionManager.cleanupBroken(ConnectionManager.java)
在 dtw.telnetd.net.ConnectionManager.run(ConnectionManager.java)

知道是什么导致了这个异常吗?

最佳答案

#!/usr/bin/perl

($user,$pass)=@ARGV;
use Data::Dumper;
%resp=();
use Net::Telnet ();
for (0..100) {
$tn=new Net::Telnet(Timeout=>10, prompt=>'/jamie\@jenks:~\$/');
$tn->open("jenks");
$tn->login($user,$pass);
@lines=$tn->cmd("uname -a");
$resp{$lines[0]}++;
$tn->prompt("//");
@bye=$tn->cmd("logout");
}

print Dumper(\%resp);

这似乎对我有用,在发出注销命令之前将提示设置为空字符串

关于linux - 使用 Perl 的 telnet 连接出现 "pattern match read eof"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11862515/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com