2

我有一个运行/查询数据库并每 30 秒输入/删除信息的 Ruby 脚本。我使用以下命令从命令行运行它:

ruby worker.rb

我正在进入服务器。当我关闭终端时,工作人员停止运行。有没有办法确保它继续运行?

4

2 回答 2

6

是的。简单的方法是使用nohupand &

nohup ruby worker.rb &

将启动它,将控制权返回给 shell,并让它独立于终端运行。另一种选择是使其成为守护进程。此代码在设置代码之后:

Process.daemon
于 2012-11-21T15:39:08.027 回答
2

为了获得最佳控制,您想使用ScreenTmux

您将能够像往常一样启动脚本(无需守护进程)并查看输出。

您可以关闭 SSH 会话,脚本将继续运行。

下次登录时,您将获得相同的环境,就像您从未注销一样。

于 2012-11-21T18:06:57.367 回答