发送telnet命令并终止连接,无需等待响应

时间:2014-01-09 19:28:53

标签: ruby automation telnet

我正在尝试建立telnet连接并发送强制重新启动然后终止连接的命令。到目前为止我有:

require 'net/telnet'
host = 192.168.20.11
connection = Net::Telnet::new("Host" => host)
connection.login("User")
connection.cmd("Reboot")

这可以实现并达到我想要的目的,但是程序然后等待来自reboot命令的反馈,因为它正在重启,因此程序因此失败。有没有办法可以发送命令然后关闭连接而无需等待反馈?这将使我能够继续完成整个过程。

1 个答案:

答案 0 :(得分:0)

不幸的是,我没有看到任何记录来处理这个问题的方法。你可以用这样的东西伪造它:

begin
  connection.cmd("String" => "Reboot", "Timeout" => 0.1)
rescue # I'm not sure what that will raise, but you should rescue that specific error here
  nil
end

我不得不问,有没有办法可以使用ssh而不是telnet