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服务器提供的页面。
有没有更好的方法来结束这个过程?