我使用 Net::SSHv2 连接到服务器并在该服务器上启动脚本。到目前为止它正在工作,但我想在脚本运行超过 10 分钟或输出文件变得太大时中断脚本。收到中断后,脚本将关闭并输出一些统计信息。
我当前的代码如下所示:
File.open(filename, "w") do |f|
Net::SSH.start(host, user, password: password) do |ssh|
ssh.exec! "do_work" do |channel, stream, data|
f << "data"
#break if f.size > 1024 * 1024 * 100 #file size > 100 MB
#channel.send_data "^C" if f.size > 1024 * 1024 * 100 #file size > 100 MB
end
end
end
我尝试了其他一些方法,为通道打开一个块并请求一个 shell,但它没有用。