Ruby守护进程无法正常工作

时间:2009-09-03 13:52:37

标签: ruby linux daemon

我需要运行一个独立的ruby脚本作为Unix(linux)守护进程。

运行该守护进程后,我需要用它运行另一个Ruby方法。

我使用ruby-daemon在我的机器上安装了gem install daemon gem。

我做了测试守护程序。

我的test.rb文件是:

module Test
    def test_method
        @s =" ITS WORKING !"
        file=File.new("/home/username/test.txt", "w")

        file.puts @s

        file.close
    end
end

我的test_control.rb文件是:

# this is myserver_control.rb

  require 'rubygems'        # if you use RubyGems
  require 'daemons'

  Daemons.run('test.rb')

在此之后我运行以下命令:ruby test_control.rb start

现在我该如何检查守护程序是否已正确启动?

如何用它调用方法?

1 个答案:

答案 0 :(得分:1)

看起来你的帖子上的格式是偏离的,所以希望有人可以解决这个问题,但我认为这里的问题是你是在定义一个模块,但实际上没有开始你定义的方法。

Daemons实用程序仅执行提供的脚本。在尝试诊断守护进程本身可能出错的地方之前,您应该测试您的“test.rb”文件是否可以直接在命令行上运行。

它可能是重新加工test.rb:

module Test
  def self.test_method
    @s =" ITS WORKING !"
    file = File.new("/home/username/test.txt", "w")

    file.puts @s

    file.close
  end
end

Test.test_method

还有其他方法可以使用守护进程传递模块来运行它,但是你不是那样使用它。