class PhusionPassenger::Standalone::StartCommand

def run

def run
  parse_options
  load_local_config_file
  remerge_all_options
  sanity_check_options_and_set_defaults
  lookup_runtime_and_ensure_installed
  set_stdout_stderr_binmode
  exit if @options[:runtime_check_only]
  find_apps
  find_pid_and_log_file(@app_finder, @options)
  create_working_dir
  begin
    initialize_vars
    start_engine
    show_intro_message
    maybe_daemonize
    touch_temp_dir_in_background
    ########################
    ########################
    watch_log_files_in_background if should_watch_logs?
    wait_until_engine_has_exited if should_wait_until_engine_has_exited?
  rescue Interrupt
    shutdown_and_cleanup(true)
    exit 2
  rescue SignalException => signal
    shutdown_and_cleanup(true)
    if signal.message == 'SIGINT' || signal.message == 'SIGTERM'
      exit 2
    else
      raise
    end
  rescue Exception
    shutdown_and_cleanup(true)
    raise
  else
    shutdown_and_cleanup(false)
  end
end