Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在后台运行ruby脚本而不使用screen_Ruby On Rails_Ruby_Ssh - Fatal编程技术网

Ruby on rails 在后台运行ruby脚本而不使用screen

Ruby on rails 在后台运行ruby脚本而不使用screen,ruby-on-rails,ruby,ssh,Ruby On Rails,Ruby,Ssh,我在Rails环境中有两个脚本,它们必须全天候运行。我在远程服务器上工作,所以我需要使用ssh启动脚本,这意味着我需要保持ssh窗口始终打开 我正在寻找一种在后台运行这些脚本的简单方法,这样在我关闭ssh连接时它们就不会被取消 我不想使用屏幕。我想一定有更简单的方法来处理这个问题。没有吗?检查一下。它是一个用于将脚本转换为可控守护进程的工具包。您可以使用 用于后台监控 或者一些ruby的东西:对于后台处理我认为最基本的解决方案应该是nohup: nohup myscript &&

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

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

我不想使用
屏幕
。我想一定有更简单的方法来处理这个问题。没有吗?

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

您可以使用

用于后台监控


或者一些ruby的东西:对于后台处理

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

nohup myscript &> /dev/null &

您可以否认脚本:

 ruby script.rb &!

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

你看过god和/或monit吗?是的,这很完美,我们可以通过:nohup ruby myscript.rb>myscript.log将输出重定向到日志文件&我刚刚用ruby script尝试过,你也可以通过命令:ps-fu username检查它是否运行