在后台运行Ruby脚本

时间:2011-06-17 20:04:45

标签: ruby

我有一个Ruby脚本,我需要在我的Linux机器中一直运行。我试过了nohup ruby ruby.rb&,但它似乎不起作用。

如何让脚本在后台运行?

2 个答案:

答案 0 :(得分:26)

查看screen这是一个命令行实用程序。从

开始
screen

您将获得一个分离的新shell。用

开始你的脚本
ruby whatever.rb

看着它跑。然后按 Ctrl - A Ctrl - D ,您应该回到原始shell。您现在可以离开ssh会话,脚本将继续运行。稍后,登录到您的框并输入

screen -r

你应该回到独立的shell。

如果您多次使用屏幕,则必须通过pid选择不太舒服的屏幕会话。为简化起见,您可以

screen -S worker

开始会话和

screen -r worker

恢复它。

答案 1 :(得分:3)

根据您的需要:

fork do
  Process.setsid
  sleep 5
  puts "In daemon"
end
puts "In control script"

在现实生活中,您将不得不重新打开STDOUT / STDERR。