0

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

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

ruby-daemon使用gem install daemon.

我做了测试守护程序。

我的 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

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

如何使用它调用方法?

4

1 回答 1

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

还有其他使用守护程序的方法,您可以将模块传递给它以运行,但您并没有以这种方式使用它。

于 2009-09-03T14:49:17.653 回答