def start_agent(agent_name, agent_class = Agent)
      # note that our Windows service monitors rnac and rchk processes
      # externally and restarts them if they die, so no need to roll our
      # own cross-monitoring on that platform.
      use_agent_watcher = !RightScale::Platform.windows?
      agent_watcher     = nil
      if use_agent_watcher
        agent_watcher = AgentWatcher.new( lambda { |s| Log.info(s) }, @options[:pid_dir] )
        agent_watcher.watch_agent("#{@options[:identity]}-rchk", '/opt/rightscale/bin/rchk', '--start', '--stop')
        @options[:ready_callback] = Proc.new { agent_watcher.start_watching() }
      end
      super
      agent_watcher.stop_watching if use_agent_watcher
    end
def start_agent(agent_name, agent_class = Agent)
      # note that our Windows service monitors rnac and rchk processes
      # externally and restarts them if they die, so no need to roll our
      # own cross-monitoring on that platform.
      use_agent_watcher = !RightScale::Platform.windows?
      agent_watcher     = nil
      if use_agent_watcher
        agent_watcher = AgentWatcher.new( lambda { |s| Log.info(s) }, @options[:pid_dir] )
        agent_watcher.watch_agent("#{@options[:identity]}-rchk", '/opt/rightscale/bin/rchk', '--start', '--stop')
        @options[:ready_callback] = Proc.new { agent_watcher.start_watching() }
      end
      super
      agent_watcher.stop_watching if use_agent_watcher
    end
Start agent

 === Parameters
 agent_name(String):: Agent name
 agent_class(Agent):: Agent class

 === Return
 true:: Always return true