Package Exports
- foreground-child
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (foreground-child) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
foreground-child
Run a child as if it's the foreground process. Give it stdio. Exit when it exits.
Mostly this module is here to support some use cases around wrapping child processes for test coverage and such.
USAGE
var foreground = require('foreground-child')
// cats out this file
var child = foreground('cat', [__filename])
// At this point, it's best to just do nothing else.
// return or whatever.
// If the child gets a signal, or just exits, then this
// parent process will exit in the same way.
A callback can optionally be provided, if you want to perform an action before your foreground-child exits:
var child = foreground('cat', [__filename], function (done) {
// perform an action.
return done()
})
Caveats
The "normal" standard IO file descriptors (0, 1, and 2 for stdin, stdout, and stderr respectively) are shared with the child process. Additionally, if there is an IPC channel set up in the parent, then messages are proxied to the child on file descriptor 3.
However, in Node, it's possible to also map arbitrary file descriptors into a child process. In these cases, foreground-child will not map the file descriptors into the child. If file descriptors 0, 1, or 2 are used for the IPC channel, then strange behavior may happen (like printing IPC messages to stderr, for example).