6

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

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

然而,我们正在查看大量数据,预计此索引需要几个小时。

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

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

4

3 回答 3

10

用于sudo apt-get install screen安装screen。然后使用screen. 现在您有一个单独的控制台窗口,可以使用Ctrl + A, then分离它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
于 2012-06-25T13:58:17.463 回答
0

您可以做的是使用screentmux使您的会话在服务器上保持打开状态。

如果您只需键入screen一个终端多路复用器,即使您断开控制台,它也会启动会话。

重新连接到控制台后,您可以使用恢复会话screen -dr

于 2012-06-25T13:58:12.877 回答
0

您应该使用 tmux 或 screen 之类的东西并从会话中分离。

于 2012-06-25T13:58:24.027 回答