'Start the core in a different thread, monitor keystrokes in the main
thread.
:return: None'

def _cmd_start(self, params):

    output_plugins = self._w3af.plugins.get_enabled_plugins('output')
    if (('console' not in output_plugins) and (len(output_plugins) == 0)):
        msg = "\nWarning:    You    disabled    the    console    output    plugin.    If    you    start    a    new    scan,    the    discovered    vulnerabilities    won't    be    printed    to    the    console,    we    advise    you    to    enable    at    least    one    output    plugin    in    order    to    be    able    to    actually    see    the    the    scan    output."
        print msg
    self._scan_thread = Process(target=self._real_start)
    self._scan_thread.name = 'ConsoleScanThread'
    self._scan_thread.daemon = True
    self._scan_thread.start()
    scan_started = self.wait_for_start()
    if (not scan_started):
        om.out.console('The    scan    failed    to    start.')
        self._w3af.stop()
        return
    try:
        self.show_progress_on_request()
    except KeyboardInterrupt:
        self.handle_scan_stop()
