我正在按照此处的说明http://railsinstaller.org/mac在运行 OS X 10.8.2 的 Mac 上启动和运行 Rails
在第 8 步,我被要求重新启动 Rails 服务器,但如何?
我假设通过命令行,但在已经打开的 ruby 终端窗口或新终端窗口中?
我正在按照此处的说明http://railsinstaller.org/mac在运行 OS X 10.8.2 的 Mac 上启动和运行 Rails
在第 8 步,我被要求重新启动 Rails 服务器,但如何?
我假设通过命令行,但在已经打开的 ruby 终端窗口或新终端窗口中?
按Ctrl+C
当您启动服务器时,它会在启动文本中提到这一点。
现在在 rails 5 你可以这样做:
rails restart
的输出rails --tasks
:
触摸 tmp/restart.txt 重启应用
我认为如果您将 Rails 作为恶魔运行,这很有用
在 OSX 上,您可以利用类似 UNIX 的命令行 - 这是我在 .bashrc 中方便使用的内容,使我能够更轻松地重新启动在后台 (-d) 模式下运行的服务器(请注意,您必须在运行时的 Rails 根目录):
alias restart_rails='kill -9 `cat tmp/pids/server.pid`; rails server -d'
我对@zane 关于如何不删除 PID 文件的评论的最初回应是,它可能是取决于 Rails 版本或操作系统类型的行为。但是,shell 也有可能运行第二个命令 ( rails server -d
) 比kill
实际导致前一个正在运行的实例停止的时间早。
因此,或者,kill -9 cat tmp/pids/server.pid && rails server -d
可能更健壮;或者您可以专门运行kill
,等待tmp/pids
文件夹清空,然后重新启动新服务器。
如果这不起作用,还有另一种在 Windows 中特别有效的方法:从 Windows 命令行中杀死 localhost:3000 进程
我不得不重新启动生产中的 rails 应用程序,所以我寻找另一个答案。我在下面找到了它:
http://wiki.ocssolutions.com/Restarting_a_Rails_Application_Using_Passenger
如果您无法找到要杀死的 rails 进程,它实际上可能没有运行。从运行 rails 服务器的位置删除 tmp 文件夹及其子文件夹,然后重试。