spawns

Spawns could run a list of commands on both widnows and linux.

spawns

I really hate to seperate the command and arguments when using spawn, and I hate to spawn things on Windows, so I made spawns.

Spawns could run a list of commands on both widnows and linux. Spawns supports to execute commands with the similar API of child_process.spawn, using options.stdio, streamed stdin and stdout.

Synopsis

spawns(commands, options);
spawns(command, [args], options);
spawns(['npm install', 'grunt --verbose'], {
    stdio: 'inherit'
 
}).on('close', function(codesignal){
    console.log('close with code:', code );
});

Installation

npm install spawns --save

Usage

spawns(...) returns a EventEmitter.

type Array.<string>

Array of command strings. Notice that the command here is not a "ls ['-al']" way, but like "ls -al".

type Object

options is the same argument as require('child_process').spawn.

  • code Number the exit code, if it exited normally.
  • signal String the signal passed to kill the child process, if it was killed by the parent.

This event is emitted when the stdio streams of all child processes have all terminated, or if there are any error encountered. This is distinct from 'exit', since multiple processes might share the same stdio streams.

  • err Error Object the error.

Emitted when:

  1. The process could not be spawned, or
  2. The process could not be killed, or
  3. Sending a message to the child process failed for whatever reason.

Note that the exit-event may or may not fire after an error has occured. If you are listening on both events to fire a function, remember to guard against calling your function twice.