diff --git a/main.py b/main.py index d3c2982..495b32d 100755 --- a/main.py +++ b/main.py @@ -31,6 +31,7 @@ import requests import threading import signal import socket +import sys from functools import partial from concurrent.futures import ThreadPoolExecutor, as_completed from bs4 import BeautifulSoup @@ -199,8 +200,17 @@ def logURLLog(hostname, logTime, url, responseTime): def main(): - signal.signal(signal.SIGTERM, signal_handler) - signal.signal(signal.SIGINT, signal_handler) + if sys.platform.startswith('win'): + + import win32api + + win32api.SetConsoleCtrlHandler(lambda sig, frame: + + signal_handler(signal.CTRL_C_EVENT, frame), True) + else: + + signal.signal(signal.SIGTERM, signal_handler) + signal.signal(signal.SIGINT, signal_handler) hostMonitorThread = threading.Thread(target=monitorHost, args=(stop_event,)) urlMonitorThread = threading.Thread(target=monitorUrls, args=(stop_event,))