# File lib/phusion_passenger/standalone/start_command.rb, line 55
        def run
                parse_my_options
                sanity_check_options

                @runtime_dirs = determine_runtime_dirs
                ensure_nginx_installed
                determine_various_resource_locations
                require_app_finder
                @app_finder = AppFinder.new(@args, @options)
                @apps = @app_finder.scan
                @plugin.call_hook(:found_apps, @apps)

                extra_controller_options = {}
                @plugin.call_hook(:before_creating_nginx_controller, extra_controller_options)
                create_nginx_controller(extra_controller_options)

                begin
                        start_nginx
                        show_intro_message
                        if @options[:daemonize]
                                if PlatformInfo.ruby_supports_fork?
                                        daemonize
                                else
                                        daemonize_without_fork
                                end
                        end
                        Thread.abort_on_exception = true
                        @plugin.call_hook(:nginx_started, @nginx)
                        ########################
                        ########################
                        watch_log_files_in_background if should_watch_logs?
                        wait_until_nginx_has_exited
                rescue Interrupt
                        stop_threads
                        stop_nginx
                        exit 2
                rescue SignalException => signal
                        stop_threads
                        stop_nginx
                        if signal.message == 'SIGINT' || signal.message == 'SIGTERM'
                                exit 2
                        else
                                raise
                        end
                rescue Exception => e
                        stop_threads
                        stop_nginx
                        raise
                ensure
                        stop_threads
                end
        ensure
                if @temp_dir
                        FileUtils.remove_entry_secure(@temp_dir) rescue nil
                end
                @plugin.call_hook(:cleanup)
        end