LINUX.ORG.RU

История изменений

Исправление Novator, (текущая версия) :

Тебе верно сказали - вызов потоков нужно делать внутри цикла:

  lines = File.open("путь к файлу").readlines
  lines.each do |ip|
    Thread.new do
      begin
        host = Net::Telnet::new("Host" => ip, "Timeout" => 5, \
          "Waittime" => 2, "Prompt" => /[#>\]-]/)
        ver = host.cmd("<требуемое действие>")
        puts ver
        host.close
      rescue => err
        $stderr.puts('Exception: '+err.message)
      end
    end
  end

Если есть какой-то один ресурс, к которому нужно обращаться из разных потоков, то можешь ещё почитать про Mutex.

Исправление Novator, :

Тебе верно сказали - вызов потоков нужно делать внутри цикла:

  lines = File.open("путь к файлу").readlines
  lines.each |ip|
    Thread.new do
      begin
        host = Net::Telnet::new("Host" => ip, "Timeout" => 5, \
          "Waittime" => 2, "Prompt" => /[#>\]-]/)
        ver = host.cmd("<требуемое действие>")
        puts ver
        host.close
      rescue => err
        $stderr.puts('Exception: '+err.message)
      end
    end
  end

Если есть какой-то один ресурс, к которому нужно обращаться из разных потоков, то можешь ещё почитать про Mutex.

Исправление Novator, :

Тебе верно сказали - вызов потоков нужно делать внутри цикла:

  lines = File.open("путь к файлу").readlines
  lines.each |ip|
    Thread.new do
      begin
        host = Net::Telnet::new("Host" => ip, "Timeout" => 5, \
          "Waittime" => 2, "Prompt" => /[#>\]-]/)
        ver = host.cmd("<требуемое действие>")
        puts ver
        host.close
      rescue => err
        $stderr.puts('Exception: '+err.message)
      end
    end
  end
end

Если есть какой-то один ресурс, к которому нужно обращаться из разных потоков, то можешь ещё почитать про Mutex.

Исходная версия Novator, :

Тебе верно сказали - вызов потоков нужно делать внутри цикла:

  lines = File.open("путь к файлу").readlines
  lines.each |ip|
    Thread.new do
      begin
        host = Net::Telnet::new("Host" => ip, "Timeout" => 5, \
          "Waittime" => 2, "Prompt" => /[#>\]-]/)
        host.close
        ver = host.cmd("<требуемое действие>")
        puts ver
      rescue => err
        $stderr.puts('Exception: '+err.message)
      end
    end
  end
end

Если есть какой-то один ресурс, к которому нужно обращаться из разных потоков, то можешь ещё почитать про Mutex.