我需要运行一个独立的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
现在如何检查后台程序是否已正确启动?
如何使用它调用方法?
最佳答案
看起来你文章的格式还差得远,所以希望有人能解决这个问题,但我认为这里的问题是你定义了一个模块,但实际上并没有触发你定义的方法。
守护程序实用程序只执行提供的脚本。在尝试诊断守护进程本身可能有什么问题之前,您应该测试“test.rb”文件是否可以直接在命令行上运行。
可能是返工试验.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
在向守护进程传递要运行的模块时,有其他方法可以使用守护进程,但不是这样使用的。