UNPKG

ordojs

Version:

A revolutionary web framework with compile-time optimizations and unified client-server development

64 lines 1.86 kB
/** * @fileoverview OrdoJS CLI - Process Manager * * Handles process lifecycle management, cleanup, and zombie prevention. */ import { ChildProcess } from 'child_process'; /** * ProcessManager class for managing child processes */ export declare class ProcessManager { private processes; private isShuttingDown; private exitHandlerRegistered; /** * Create a new ProcessManager instance */ constructor(); /** * Register handlers for process exit events */ private registerExitHandlers; /** * Start a new child process * * @param id - Unique identifier for the process * @param command - Command to execute * @param args - Command arguments * @param options - Spawn options * @returns The created child process */ startProcess(id: string, command: string, args?: string[], options?: Record<string, any>): ChildProcess; /** * Stop a specific process * * @param id - Process identifier * @param signal - Signal to send (default: SIGTERM) * @returns Promise that resolves when the process has exited */ stopProcess(id: string, signal?: NodeJS.Signals): Promise<void>; /** * Check if a process is running * * @param id - Process identifier * @returns True if the process is running */ isProcessRunning(id: string): boolean; /** * Get all running processes * * @returns Map of process IDs to child processes */ getRunningProcesses(): Map<string, ChildProcess>; /** * Clean up all managed processes */ cleanup(): Promise<void>; /** * Shutdown the process manager and all managed processes * * @param reason - Reason for shutdown */ shutdown(reason: string): Promise<void>; } //# sourceMappingURL=process-manager.d.ts.map