Polyfill for child_process.spawnSync
.
On iojs and node >= 0.12 it will just export the built in child_process.spawnSync
. On platforms that support compiling native modules it uses the execSync module to get true synchronous execution. If native compilation is not supported it falls back to waiting for an output file to exist in a tight loop. In this way it gains excellent cross platform support, but don't expect it to be efficient on all platforms.
npm install spawn-sync
var spawnSync = require('spawn-sync');
var result = spawnSync('node',
['filename.js'],
{input: 'write this to stdin'});
// Note, status code will always equal 0 if using busy waiting fallback
if (result.status !== 0) {
process.stderr.write(result.stderr);
process.exit(result.status);
} else {
process.stdout.write(result.stdout);
process.stderr.write(result.stderr);
}
MIT