进程管理器
分布式进程面板:按 Servers/Driver/GUI/Viewer/Monitor 分类启停后台进程。
概述
quatm/GUI/entries/processmanager.py 提供 进程管理器:按 Servers / Driver / GUI / Viewer / Monitor 分类读取配置,为每个脚本条目生成一个 SingleProcess 启停按钮面板,统一管理整套实验软件的运行。进程以当前解释器按脚本或模块(python -m)方式启动,携带项目根与父进程看门狗环境。
进程类别
| 类别 | 说明 | 典型进程 |
|---|---|---|
| Servers | 通信 / 属性 / 数据服务 | 数据中心、属性服务等 |
| Driver | 硬件驱动进程 | FPGA 等设备驱动 |
| GUI | 图形界面进程 | 实验浏览器、数据管理器等 |
| Viewer | 数据查看进程 | 实时绘图、滚动窗口、图像查看器等 |
| Monitor | 监控 / 检查进程 | 属性检查器、消息监控等 |
组件
| 组件 | 说明 |
|---|---|
ProcessManager | 分类面板:读取配置为每个条目生成启停按钮 |
SingleProcess | 单条目面板:启动/异步终止/状态轮询着色 |
resolve_script | 把配置里的 script 条目解析为启动目标(文件路径或模块) |
关键方法(SingleProcess)
| 方法 | 说明 |
|---|---|
startProcess | 停掉旧实例后以当前解释器启动子进程 |
stopProcess | 异步终止子进程,不阻塞 GUI 线程 |
updateStatus | 周期轮询退出状态并着色(运行中/正常退出/崩溃) |
用法
from quatm.GUI.entries.processmanager import ProcessManager
pm = ProcessManager(parent=parent)
pm.show()
待管理条目由配置文件中的 scripts 定义;各条目的启动/停止通过对应的按钮面板完成。