child.d.ts 989 B

1234567891011121314151617181920212223242526272829303132
  1. import { ChildProcess } from 'child_process';
  2. import { Worker } from 'worker_threads';
  3. import { SandboxedOptions } from '../interfaces';
  4. import { EventEmitter } from 'events';
  5. /**
  6. * Child class
  7. *
  8. * This class is used to create a child process or worker thread, and allows using
  9. * isolated processes or threads for processing jobs.
  10. *
  11. */
  12. export declare class Child extends EventEmitter {
  13. private mainFile;
  14. processFile: string;
  15. private opts;
  16. childProcess: ChildProcess;
  17. worker: Worker;
  18. private _exitCode;
  19. private _signalCode;
  20. private _killed;
  21. constructor(mainFile: string, processFile: string, opts?: SandboxedOptions);
  22. get pid(): number;
  23. get exitCode(): number;
  24. get signalCode(): number;
  25. get killed(): boolean;
  26. init(): Promise<void>;
  27. send(msg: any): Promise<void>;
  28. private killProcess;
  29. kill(signal?: 'SIGTERM' | 'SIGKILL', timeoutMs?: number): Promise<void>;
  30. private initChild;
  31. hasProcessExited(): boolean;
  32. }