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 服务器就可以了。