2
我正在使用需要在某些rake任務期間啓動和停止服務器。我正在使用下面的代碼:在rake任務中殺死ruby守護進程
task :start_server do
job = fork do
system `http-server ./_site -p 4000`
end
Process.detach(job)
@pid = Process.pid
end
task :stop_server do
puts "stopping server"
system Process.kill('QUIT', @pid)
end
開始工作正常,但我不能讓它停下來。
我在Capistrano部署內部調用這些任務,例如, after 'pdf:generate_pdf', 'pdf:stop_server'
我沒有得到一個錯誤,但我仍然可以看到Web服務器提供的頁面。
有沒有更好的方法來結束這個過程?