在后台运行Ruby脚本无限期

0xS*_*ina 2 ruby linux ubuntu backgroundworker

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

ruby worker.rb
Run Code Online (Sandbox Code Playgroud)

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

Lin*_*ios 6

是.简单的方法是使用nohup&:

nohup ruby worker.rb &
Run Code Online (Sandbox Code Playgroud)

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

Process.daemon
Run Code Online (Sandbox Code Playgroud)