我正在使用需要在某些rake任务期间启动和停止服务器。我使用以下代码:
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'
我没有收到错误但我仍然可以看到网页服务器正在提供网页。
有没有更好的方法来结束这个过程?
答案 0 :(得分:0)
我发现此命令可以完美地停止http服务器。
task :stop_server do
system("pkill -f http-server")
end