在不使用屏幕的情况下在后台运行ruby脚本

时间:2012-04-25 12:26:54

标签: ruby-on-rails ruby ssh

我在Rails环境中有两个脚本必须全天候运行。我正在使用远程服务器,因此我需要使用ssh启动脚本,这意味着我需要始终保持ssh窗口打开。

我正在寻找一种在后台运行这些脚本的简单方法,以便在我关闭ssh连接时不会取消它们。

我不想使用screen。我认为必须有更简单的方法来处理这个问题。不存在吗?

4 个答案:

答案 0 :(得分:21)

我认为最基本的解决方案是nohup

nohup myscript &> /dev/null &

答案 1 :(得分:4)

您可以删除脚本:

 ruby script.rb &!

STDOUT / STDERR仍然附加到当前shell,但ruby进程不再是shell的子进程,所以如果你关闭终端它就不会被杀死。

答案 2 :(得分:2)

检查Daemons。它是一个用于将脚本转换为可控制守护程序的工具包。

答案 3 :(得分:1)

您可以使用

用于守护进程

或者一些红宝石的东西:https://www.ruby-toolbox.com/#Background_Processing用于后台处理