中止 Rails 的守护线程
Rails 现在的默认服务器是 Puma,简单迅速好用,但是当我们将其简单部署的时候——也就是
不与其他服务器集成,只是简单的启动 Puma 服务器,并根据需要将其启动为守护模式,也就是
rails s -b 0.0.0.0 -d
,-d
就是守护模式,启用线程服务。
这个时候就有个问题,如果我更新了软件或者其他情况需要重新启动服务器,但是又不想重新 启动整个服务器,如果没有使用守护模式的时候,可以通过 Ctrl + C 来中止服务器。
但是,如果服务器使用了守护模式,我们就看不到服务器的运行了,这个时候怎么办?
这时,我们可以通过查看服务器的 tmp/pids/server.pid
文件来获取线程名称,然后终止该线程即可。
查看线程可以:
cat tmp/pids/server.pid
然后会显示一个数字,概述子就是线程的名称。然后
kill -9 <your-pid>
就终止了该线程,然后在重新启动 Rails 服务器就可以了。