/// import { ChildProcess, ForkOptions } from 'child_process'; import { EPSProcessName } from '../types/eps-process-types'; import { EPSProcess } from './eps-process'; export declare type EPSProcessInfo = { name: string; pid: number; process?: object; }; export default class EPSProcessManager extends EPSProcess { private processes; constructor(); fork(epsProcessName: EPSProcessName, path: string, args: string[], forkOptions?: ForkOptions): ChildProcess; protected init(): void; protected runHandler(): EPSProcess; protected initProcessEvents(): void; protected stopHandler(): Error; private checkProcesses; addPID(pid: number, name?: string): EPSProcessInfo[]; stopProcess(pid: number): EPSProcessInfo[]; private stopAllProcesses; /** * processExists provides a mechanism to check whether a pid is an active process. * Advantage of this is that it does not require a separate executable to work. * The 3PL `processExists` has a dependency on fastlist, which on windows requires * fastlist.exe. Bundling the fastlist executable with the EPS executable is not * simple on Windows, so replacing 3PL solution with this fn avoids that dependency. */ processExists(pid: number): boolean; }