From bb6b15777460d14ae4f7ffdd3cc32fd7ecb828cb Mon Sep 17 00:00:00 2001 From: InValidFire Date: Wed, 31 Mar 2021 14:53:01 -0400 Subject: [PATCH] Handle keyboard interrupts properly. --- main.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/main.py b/main.py index b7f5c8f..7f637e7 100644 --- a/main.py +++ b/main.py @@ -4,6 +4,7 @@ import subprocess import logging import sys import time +import psutil logger = logging.getLogger(__name__) logger.setLevel(logging.DEBUG) @@ -21,11 +22,16 @@ def start_bot(): bot = start_bot() -while True: - if bot.poll() is not None: - if bot.returncode == 26: - logger.info("exit code 26 received, restarting bot!") - bot = start_bot() - else: - break - time.sleep(1) # keeps code from overworking. +try: + while True: + if bot.poll() is not None: + if bot.returncode == 26: + logger.info("exit code 26 received, restarting bot!") + bot = start_bot() + else: + break + time.sleep(1) # keeps code from overworking. +except KeyboardInterrupt: + print("Killing Bot Process") + psutil.Process(bot.pid).kill() + print("Killed successfully")