10

我在 Rails 环境中有两个脚本,必须 24/7 运行。我在远程服务器上工作,所以我需要使用 启动脚本ssh,这意味着我需要一直打开 ssh 窗口。

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

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

4

4 回答 4

22

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

nohup myscript &> /dev/null &
于 2012-04-25T12:55:30.867 回答
4

您可以拒绝脚本:

 ruby script.rb &!

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

于 2012-04-25T19:47:55.203 回答
2

检查守护进程。它是一个将脚本转换为可控守护进程的工具包。

于 2012-04-25T12:29:53.003 回答
1

您可以使用

用于守护进程

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

于 2012-04-25T12:30:43.593 回答