# File lib/phusion_passenger/standalone/start_command.rb, line 55
        def run
                parse_my_options
                sanity_check_options
                
                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
                        daemonize if @options[:daemonize]
                        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.rm_rf(@temp_dir) rescue nil
                end
                @plugin.call_hook(:cleanup)
        end