fluentd-ui/app/models/fluentd/agent/td_agent/macosx.rb
鳥井 雪 b87b2c8af4 Add #backup_running_config method
on Fluentd::Agent
2014-12-15 15:37:21 +09:00

36 lines
808 B
Ruby

class Fluentd
class Agent
class TdAgent
module Macosx
def start
backup_running_config do
detached_command("launchctl load #{plist}") && pid_from_launchctl
end
end
def stop
detached_command("launchctl unload #{plist}") && FileUtils.rm(pid_file)
end
def restart
stop && start
end
private
def plist
'/Library/LaunchDaemons/td-agent.plist'
end
def pid_from_launchctl
# NOTE: launchctl doesn't make pidfile, so detect pid and store it to pidfile manually
pid = `launchctl list | grep td-agent | cut -f1`.strip
return if pid == ""
File.open(pid_file, "w"){|f| f.write pid }
end
end
end
end
end