Product
Introducing SSO
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
async-child-process
Advanced tools
Readme
A simple Promise
-based API for working with ChildProcess
es.
npm install --save async-child-process
join(child: ChildProcess): Promise<Result>
Waits for child
to exit.
Returns a Promise
that:
{code: 0}
if child
exits with code 0error.code
will be the exit code if the child exited normallyerror.signal
will be the signal the child was terminated with, if anychild
emits an error
, it may be the rejection reason and it may not have code
or signal
Example:
import {exec} from 'child_process'
import {join} from 'async-child-process'
async function test() {
await join(exec('echo hello world'))
}
kill(child: ChildProcess, signal?: string): Promise<void>
Sends a signal to child
and waits for it to exit.
Returns a Promise
that:
child
is killederror
if child
emits oneExample:
import {exec} from 'child_process'
import {kill} from 'async-child-process'
async function test() {
const child = exec(`node -e 'setTimeout(() => console.log("finally!"), 1e11)'`)
await kill(child)
}
childPrinted(child: ChildProcess, predicate: (output: string) => boolean | RegExp, stream?: 'stdout' | 'stderr'): Promise<string>
Waits for child
to print something to its stdout
and/or stderr
. Returns a promise that:
predicate
orchild
exited or errored before printing a message that matched predicate
Arguments:
ChildProcess
to listen tochildPrinted
will wait until child
's stream(s) output a message matching the predicatechild
's streams to listen to, omit to listen to both stdout
and stderr
Example:
import {exec} from 'child_process'
import {childPrinted} from 'async-child-process'
async function test() {
const child = exec(`webpack --config webpack.config.dev.js`)
await childPrinted(child, /webpack built in \d+ ms/)
}
execAsync(command: string, options?: Object): Promise<Result>
Like exec
, but returns a Promise
that:
{stdout: string, stderr: string}
from running command
if it exited with code 0error.code
will be the exit code if the child exited normallyerror.signal
will be the signal the child was terminated with, if anychild
emits an error
, it may be the rejection reason and it may not have code
or signal
Example:
import {execAsync} from 'async-child-process'
async function test() {
const {stdout} = await execAsync('docker-compose port webapp 80')
const testUrl = stdout.trim()
}
FAQs
Promise-based child process interface
The npm package async-child-process receives a total of 708 weekly downloads. As such, async-child-process popularity was classified as not popular.
We found that async-child-process demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.