Process Manager
Distributed process panel: start/stop background processes grouped as Servers/Driver/GUI/Viewer/Monitor.
Overview
quatm/GUI/entries/processmanager.py provides the process manager: it reads the configuration
grouped as Servers / Driver / GUI / Viewer / Monitor and generates a SingleProcess start/stop button
panel for every script entry, managing the whole set of experiment-software processes in one place. A
process is started with the current interpreter, either as a script or as a module (python -m), and
carries the project root and the parent-process watchdog environment.
Components
| Component | Description |
|---|---|
ProcessManager | Category panel: reads the configuration and generates a start/stop button for every entry |
SingleProcess | Single-entry panel: start / asynchronous termination / status polling colouring |
Key methods (SingleProcess)
| Method | Description |
|---|---|
startProcess | Stops the old instance, then starts the child process with the current interpreter |
stopProcess | Terminates the child process asynchronously without blocking the GUI thread |
updateStatus | Periodically polls the exit status and colours it (running / exited / crashed) |
Usage
from quatm.GUI.entries.processmanager import ProcessManager
pm = ProcessManager(parent=parent)
pm.show()
For a fuller description see Process manager.