class Object

Public Instance Methods

read_fluentdopt(service_name) click to toggle source
# File lib/fluent/winsvc.rb, line 39
def read_fluentdopt(service_name)
  require 'win32/Registry'
  Win32::Registry::HKEY_LOCAL_MACHINE.open("SYSTEM\\CurrentControlSet\\Services\\#{service_name}") do |reg|
    reg.read("fluentdopt")[1] rescue ""
  end
end
service_main_start(service_name) click to toggle source
# File lib/fluent/winsvc.rb, line 46
def service_main_start(service_name)
  ruby_path = 0.chr * 260
  GetModuleFileName.call(0, ruby_path,260)
  ruby_path = ruby_path.rstrip.gsub(/\\/, '/')
  rubybin_dir = ruby_path[0, ruby_path.rindex("/")]
  opt = read_fluentdopt(service_name)
  Process.spawn("\"#{rubybin_dir}/ruby.exe\" \"#{rubybin_dir}/fluentd\" #{opt} -x #{service_name}")
end