Я пытаюсь открыть telnet-соединение, выполнить какую-то команду и разорвать соединение. Мне нужно, чтобы он работал около 1000 раз. Скрипт работает нормально для некоторого количества попыток [скажем, около 23-25]. Затем я получаю следующую ошибку:
"шаблон соответствует чтению eof в строке 23 perlscript.pl"
Строка 23 соответствует коду
$tn->waitfor('/Password: /i')
.
После этой ошибки, если я пытаюсь открыть telnet-соединение вручную, я получаю сообщение об ошибке:
"Обслуживание и очередь заполнены. Пожалуйста, зайдите позже"
Я думаю, я получаю эту первую ошибку «шаблон соответствует прочтению eof», потому что соединение telnet прерывается из-за ошибки «Служба и очередь заполнены».
Я пытался больше отладить проблему, и когда я проверил журналы, я наткнулся на эту ошибку:
2012 08 08 10:27:46 EDT: Exception occured:
java.lang.NullPointerException
at dtw.telnetd.net.Connection.close(Connection.java)
at dtw.telnetd.net.ConnectionManager.cleanupBroken(ConnectionManager.java)
at dtw.telnetd.net.ConnectionManager.run(ConnectionManager.java)
Любая идея о том, что может быть причиной этого исключения?
$tn->close();
, чтобы закрыть соединение. Я использовал командуsleep 1
после выполнения каждой команды, чтобы предыдущая команда получила достаточно времени для завершения. Я не уверен, какие журналы я могу проверить на сервере. Не могли бы вы сказать мне... - person r9891   schedule 08.08.2012/var/log/
на сервере, в виде файлаsyslog
илиmessages
или чего-то подобного. - person Some programmer dude   schedule 08.08.2012$tn->cmd("logout");
, но получил ошибку. Поэтому я использовал$tn->cmd("exit");
, но безрезультатно. Я получил ту же ошибку, что и Eof чтения шаблона. Я проверил файл журнала, и он выглядит нормально. Я просто запускаю скрипт снова. Он запускался 1230 раз, прежде чем остановился. Я не уверен, что происходит не так! - person r9891   schedule 08.08.2012