1.0.7 • Published 8 years ago

execjs v1.0.7

Weekly downloads
1
License
MIT
Repository
github
Last release
8 years ago

execjs

Easily spawn multiple processes and stream their output

Screenshot

Usage

// Import exec
var exec = require('execjs');

// Spawn a new process running 'daemon1', passing a string as command.
// All output will be printed to stdout with its own color and tag
exec('daemon1 --bind 1.1.1.1');

// Spawn a new process running 'daemon2', passing an object
exec({
  command: 'daemon2 --bind 2.2.2.2'
  tag: 'd2' // Show 'd2' as the tag for this process's output
});

// Spawn a new process running 'daemon3', passing an object
// Save a reference to the ChildProcess object (see node child_process api)
proc = exec({
  command: 'daemon3'
  args: ['--bind', '3.3.3.3'] // Pass arguments seperately
  print: function(line, type, tag) { // Use a custom print function
    if (type == 'stdout') {
      console.log('d3 says (stdout): ' + line);
    } else if (type == 'stderr') {
      console.log('d3 says (stderr): ' + line);
    } else if (type == 'info') {
      console.log('d3 info: ' + line);
    }
  }
});

// Kill the daemon3 instance
proc.kill();

API

exec(command)

Spawn a process from the provided command

Returns: ChildProcess object

exec(options)

Spawn a process from the provided options object, with the following supported keys:

  • command (String): The command to run
  • args (Array): List of string arguments
  • tag (String): Tag prefix to use for the process
  • print (Function): Custom print function, will be passed the arguments:
    • line (String): Line of text from the binary
    • type (String): stdout, stderr or info
    • tag (String): The tag for the process (provided or inferred from command)
  • All options supported by child_process.spawn (See child_process)

Returns: ChildProcess object

1.0.7

8 years ago

1.0.6

8 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago