fluentd-ui/app/models/fluentd/agent/td_agent/macosx.rb
2015-02-04 15:03:25 +09:00

35 lines
817 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
dryrun && 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