'Run our cmdloop(), catching KeyboardInterrupt'

def run(self):

    while True:
        try:
            for node in self.mn.values():
                while node.waiting:
                    info('stopping', node, '\n')
                    node.sendInt()
                    node.waitOutput()
            if self.isatty():
                quietRun('stty    echo    sane    intr    ^C')
            self.cmdloop()
            break
        except KeyboardInterrupt:
            try:
                output('\nInterrupt\n')
            except Exception:
                pass
