【发布时间】:2014-07-31 23:11:09
【问题描述】:
我有一些 Ruby 脚本用于自动执行一些可能需要很长时间才能完成的 rsync 任务。我正在使用popen 运行命令:
def process(command)
io = IO.popen(command)
output = io.read
io.close
return output
end
该命令由 Sinatra 应用程序中的 get 请求执行:
get '/sync' do
stream do |out|
rsync_command = "rsync somedir"
out << process(rsync_command)
end
end
然后我在前端使用 Ajax 请求访问输出:
$.get('/sync', function (data) {
console.log(data);
});
是否可以在发生时显示 shell 输出,而不是只在进程结束时返回?
【问题讨论】:
标签: javascript ruby shell unix sinatra