From 11873fdf98b75cafe8d0f2f1e23a07ac3d81f3b3 Mon Sep 17 00:00:00 2001 From: IrvingGao <1729854488@qq.com> Date: Sat, 25 May 2024 00:02:37 +0800 Subject: [PATCH] update exit --- wifi_manager.py | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/wifi_manager.py b/wifi_manager.py index 0dffb56..a072e98 100644 --- a/wifi_manager.py +++ b/wifi_manager.py @@ -20,7 +20,23 @@ except ImportError: led_enabled = False print("Error importing OrangePi") +import os +import psutil +import signal +def close_app(): + # 获取当前Flask应用程序的进程ID + flask_pid = os.getpid() + + # 获取所有名为'python3'的进程ID + python_pids = [p.info['pid'] for p in psutil.process_iter(attrs=['pid', 'name']) if p.info['name'] == 'python3'] + + # 关闭Flask应用程序进程 + os.kill(flask_pid, signal.SIGTERM) + + # 关闭Python进程 + for pid in python_pids: + os.kill(pid, signal.SIGTERM) app = Flask(__name__) @@ -159,19 +175,7 @@ def submit(): if check_wifi_connection() and connected: orangepi.set_led_off('red') # connected successfully, close flask - print(f"{datetime.datetime.now()}: Wi-Fi连接成功,关闭应用程序。") - # 关闭flask app,关闭python相关的所有进程,并退出程序 - flask_pid = os.getpid() - python_pids = [p.info['pid'] for p in psutil.process_iter(attrs=['pid', 'name']) if p.info['name'] == 'python3'] - - # 关闭Flask应用程序进程 - os.kill(flask_pid, signal.SIGTERM) - - # 关闭Python进程 - for pid in python_pids: - os.kill(pid, signal.SIGTERM) - - exit(0) + close_app() else: @@ -189,7 +193,7 @@ if __name__ == '__main__': time.sleep(5) # 等待 Wi-Fi 连接 if check_wifi_connection(): print(f"{datetime.datetime.now()}: 已连接到 Wi-Fi 网络,退出程序") - exit(0) + close_app() else: print(f"{datetime.datetime.now()}: 未连接到 Wi-Fi 网络")