diff --git a/scripts/process_ctrl.py b/scripts/process_ctrl.py index 9b06713..7efa253 100644 --- a/scripts/process_ctrl.py +++ b/scripts/process_ctrl.py @@ -1,16 +1,8 @@ -''' -Author: SpenserCai -Date: 2023-08-24 09:33:45 -version: -LastEditors: SpenserCai -LastEditTime: 2023-08-24 22:08:16 -Description: file content -''' import subprocess import threading +import os from scripts.base import get_bin_process_path -# 单列类 class ProcessCtrl: __status = False __process = None @@ -24,7 +16,7 @@ class ProcessCtrl: ProcessCtrl.__process = subprocess.Popen(get_bin_process_path(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT, universal_newlines=True) for line in iter(ProcessCtrl.__process.stdout.readline, ""): ProcessCtrl.AllLogData += line - # LogData只保留最后10行 + # Limit LogData to 10 lines #if len(ProcessCtrl.AllLogData.split("\n")) > 10: # ProcessCtrl.LogData = "\n".join(ProcessCtrl.AllLogData.split("\n")[-10:]) #else: @@ -33,18 +25,15 @@ class ProcessCtrl: ProcessCtrl.__process = None ProcessCtrl.__status = False - def start(): ProcessCtrl.__status = True ProcessCtrl.__thread = threading.Thread(target=ProcessCtrl._start_process) ProcessCtrl.__thread.start() def stop(): - if ProcessCtrl.__process != None: - # 发送相当于Ctrl+C的信号 - ProcessCtrl.__process.send_signal(3) - + if ProcessCtrl.__process is not None: + # Terminate the subprocess (Windows compatible) + ProcessCtrl.__process.terminate() def is_running(): return ProcessCtrl.__status -