在SSH客户端(PuTTy)关闭后如何从Rails控制台运行rails命令

Sta*_*ley 6 ubuntu putty solr ruby-on-rails sunspot-solr

我使用PuTTy连接到我们的Ubuntu生产服务器.

我想使用Solr重新索引特定的模型.我想从Rails控制台运行reindex命令,即Modelname.reindex(因为它似乎比rake任务运行得更快.)

但是,我们正在查看大量数据,这种索引预计需要几个小时.

我希望能够在rails控制台中启动此任务,即使退出PuTTy,它也应该继续运行.这该怎么做?

Linux:关闭SSH客户端建议nohup 后阻止后台进程停止,但我不知道是否/如何使用rails控制台.

Mat*_*att 10

使用sudo apt-get install screen安装screen.然后使用它运行它screen.现在你有一个单独的控制台窗口,可以使用Ctrl + A,然后分离D.关闭腻子不会结束你的screen激情.如果您稍后重新登录,则可以使用恢复会话screen -r.

总结一下:

> sudo apt-get install screen
> screen
# pops up a new shell
> rails c
# run your reindex operation
# press Ctrl + A, then D
> exit
# putty closes

# reconnect using putty
> screen -r
# you should be back in your rails console
Run Code Online (Sandbox Code Playgroud)