@ordojs/cli
Version:
Command-line interface for OrdoJS framework
64 lines • 1.86 kB
TypeScript
/**
* @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