0
清理停業/殭屍進程或接近長期運行POPEN與西納特拉
我有以下的在我的紅寶石西納特拉應用流的即時它工作得很好,但每個請求留下解散/殭屍背後大tar文件子進程。只要瀏覽器彈出保存文件對話框,該過程就會失效。如何在彪馬
我對彪馬2.12.2運行此
我已經嘗試了系統調用,並在使用塊代替POPEN但它關閉tar命令完成之前的過程和收益,因此客戶端接收空的文件。
任何想法如何我可以自動清理已停用的子進程或保留對io對象的句柄,但仍然返回它,因此它開始流式傳輸到客戶端?
get '/:dir_name' do
headers['Content-Type']="application/octet-stream"
headers["Content-Disposition"]="attachment;filename=#{params[:dir_name]}.tar"
IO.popen("tar -C /home/my/files -cf - #{params[:dir_name]}")
end