A node module that helps spawn child processes with deterministic controls.
This module is intended to provide more deterministic controls to the native
child_process
library.
- Close subprocess if parent process exits or receives
SIGINT
- Line emitter for
stdout
andstderr
instead of data chunks - Await spawn success or error with timeout
- Await certain output with timeout
- Send signal and await close with a timeout
- Deterministic kill with timeout
- Await close event
npm i @whi/subprocess
let subprocess = new SubProcess( "python3", "-um", "http.server", "8888" );
subprocess.stdout( line => {
console.log( line );
});
subprocess.stderr( line => {
console.error( line );
});
await subprocess.ready();
await subprocess.output("Serving HTTP on 0.0.0.0 port 8888");
await subprocess.stop();
See docs/API.md
See CONTRIBUTING.md