def start
      # Stop if running
      stop if @pid

      cmd = "foreman start"
      cmd += " -c #{@concurrency}" if @concurrency
      cmd += " -e #{@env}"         if @env
      cmd += " -f #{@procfile}"    if @procfile
      cmd += " -p #{@port}"        if @port
      cmd += " -d #{@root}"        if @root
      #cmd += " > #{@log_file}"     # Disabled for now

      debug "About to run #{cmd}"
      @pid = ::Spoon.spawnp(*cmd.split(" "))     # Spoon is a little weird

     info "Foreman started."
     debug "Foreman has pid #{@pid}"
     success "Foreman started"
    end
def start
      # Stop if running
      stop if @pid

      cmd = "foreman start"
      cmd += " -c #{@concurrency}" if @concurrency
      cmd += " -e #{@env}"         if @env
      cmd += " -f #{@procfile}"    if @procfile
      cmd += " -p #{@port}"        if @port
      cmd += " -d #{@root}"        if @root
      #cmd += " > #{@log_file}"     # Disabled for now

      debug "About to run #{cmd}"
      @pid = ::Spoon.spawnp(*cmd.split(" "))     # Spoon is a little weird

     info "Foreman started."
     debug "Foreman has pid #{@pid}"
     success "Foreman started"
    end
Initialize a Guard.
 @param [Array<Guard::Watcher>] watchers the Guard file watchers
 @param [Hash] options the custom Guard options
 Call once when Guard starts. Please override initialize method to init stuff.
 @raise [:task_has_failed] when start has failed