/** * QA360 Process Manager * Gestion graceful shutdown et cancel safe des processus */ import { ChildProcess } from 'child_process'; import { EventEmitter } from 'events'; export interface RunProcess { runId: string; pid: number; startTime: number; command: string; status: 'running' | 'cancelled' | 'completed' | 'failed'; children: ChildProcess[]; } export interface CancelResult { cancelled: boolean; runId: string; reason?: string; } export declare class ProcessManager extends EventEmitter { private activeRuns; private gracefulTimeout; constructor(); registerRun(runId: string, command: string, mainProcess?: ChildProcess): void; addChildProcess(runId: string, child: ChildProcess): void; cancelRun(runId: string): Promise; cancelAllRuns(): Promise; getActiveRuns(): RunProcess[]; getRunStatus(runId: string): RunProcess | null; private gracefulShutdown; private terminateProcess; private cleanupDockerContainers; private completeRun; private setupSignalHandlers; dispose(): void; }