我正在按照这里的说明http://railsinstaller.org/mac在运行OS X 10.8.2的Mac上启动Rails。 在第8步中,我被要求重新启动Rails服务器,但如何操作呢? 我假设是通过命令行,在已经打开的ruby终端窗口中进行还是新建一个呢?
现在在 Rails 5 中,您可以这样做:
rails restart
rails --tasks
的输出结果为:
我认为如果你将Rails作为服务运行,这个命令会非常有用。通过触摸tmp/restart.txt文件重新启动应用程序
按下 Ctrl+C
当您启动服务器时,它会在启动文本中提到此事。
rails server
或启动一个新窗口? - Paul Seattlealias 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
文件夹清空,然后重新启动新服务器。
kill -9
(又称为SIGKILL
)导致的“孤立的”PID文件不会导致输出“服务器已经运行”的消息。 - sameers如果您无法找到要终止的Rails进程,那么它可能实际上并未运行。请从运行Rails服务器的位置删除tmp文件夹及其子文件夹,然后重试。
我不得不在生产环境中重新启动Rails应用程序,因此我寻找了另一个答案。我在下面找到了它:
http://wiki.ocssolutions.com/Restarting_a_Rails_Application_Using_Passenger
我刚刚使用
Ctrl + c
重启了服务器,这对我起作用了。
rails -v
=5.2.0
,但是rails restart
却给了我一个rails new
的使用菜单?他们已经移除了这个命令吗? - Elliot Tregoning