0.2.1 • Published 3 years ago

@whi/subprocess v0.2.1

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

npm.io

new SubProcess( binary, ...args )

A node module that helps spawn child processes with deterministic controls.

npm.io npm.io npm.io

Overview

This module is intended to provide more deterministic controls to the native child_process library.

Features

  • Close subprocess if parent process exits or receives SIGINT
  • Line emitter for stdout and stderr 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

Install

npm i @whi/subprocess

Basic Usage

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();

API Reference

See docs/API.md

Contributing

See CONTRIBUTING.md