在rake任务中杀死ruby守护进程
在一些rake任务期间,我需要启动和停止服务器。我正在使用以下代码:在rake任务中杀死ruby守护进程,ruby,Ruby,在一些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)
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 deploy中调用这些任务,例如在“pdf:generate\u pdf”、“pdf:stop\u server”之后调用
我没有收到错误,但是我仍然可以看到web服务器提供的页面
有没有更好的方法来结束这个过程 我发现这个命令可以完美地停止http服务器
task :stop_server do
system("pkill -f http-server")
end