From 7086eeac1b9c7056aa910de70135bd1b90774373 Mon Sep 17 00:00:00 2001 From: Thomas Williams Date: Sun, 7 Jul 2024 18:17:02 +0100 Subject: [PATCH] Closes issue #23 --- main.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) 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,))