<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def run_bots(bots):
 """ Run many bots in parallel. :param bots: IRC bots to run. :type bots: list """

    greenlets = [spawn(bot.run) for bot in bots]
    try:
        joinall(greenlets)
    except KeyboardInterrupt:
        for bot in bots:
            bot.disconnect()
    finally:
        killall(greenlets)