在后台运行Ruby脚本无限期

时间:2012-11-21 15:34:04

标签: ruby linux ubuntu backgroundworker

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

ruby worker.rb

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

2 个答案:

答案 0 :(得分:5)

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

nohup ruby worker.rb &

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

Process.daemon

答案 1 :(得分:2)

为了获得最佳控制权,您可以使用ScreenTmux

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

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

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