Security News
The Push to Ban Ransom Payments Is Gaining Momentum
Ransomware costs victims an estimated $30 billion per year and has gotten so out of control that global support for banning payments is gaining momentum.
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
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.
Security News
Ransomware costs victims an estimated $30 billion per year and has gotten so out of control that global support for banning payments is gaining momentum.
Application Security
New SEC disclosure rules aim to enforce timely cyber incident reporting, but fear of job loss and inadequate resources lead to significant underreporting.
Security News
The Python Software Foundation has secured a 5-year sponsorship from Fastly that supports PSF's activities and events, most notably the security and reliability of the Python Package Index (PyPI).