31

我正在按照此处的说明http://railsinstaller.org/mac在运行 OS X 10.8.2 的 Mac 上启动和运行 Rails

在第 8 步,我被要求重新启动 Rails 服务器,但如何?

我假设通过命令行,但在已经打开的 ruby​​ 终端窗口或新终端窗口中?

4

6 回答 6

40

Ctrl+C

当您启动服务器时,它会在启动文本中提到这一点。

于 2012-12-01T02:32:48.957 回答
39

现在在 rails 5 你可以这样做:

rails restart

的输出rails --tasks

触摸 tmp/restart.txt 重启应用

我认为如果您将 Rails 作为恶魔运行,这很有用

于 2016-11-27T19:08:10.657 回答
26

在 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文件夹清空,然后重新启动新服务器。

于 2013-11-13T05:48:16.857 回答
1

如果这不起作用,还有另一种在 Windows 中特别有效的方法:从 Windows 命令行中杀死 localhost:3000 进程

于 2013-08-01T17:23:33.263 回答
0

我不得不重新启动生产中的 rails 应用程序,所以我寻找另一个答案。我在下面找到了它:

http://wiki.ocssolutions.com/Restarting_a_Rails_Application_Using_Passenger

于 2013-08-07T15:36:59.363 回答
0

如果您无法找到要杀死的 rails 进程,它实际上可能没有运行。从运行 rails 服务器的位置删除 tmp 文件夹及其子文件夹,然后重试。

于 2018-07-08T14:38:21.987 回答