Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cfal/exec.js
Easily spawn multiple processes and stream their output
https://github.com/cfal/exec.js
Last synced: 23 days ago
JSON representation
Easily spawn multiple processes and stream their output
- Host: GitHub
- URL: https://github.com/cfal/exec.js
- Owner: cfal
- Created: 2016-03-23T23:42:00.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-04-19T20:49:30.000Z (over 8 years ago)
- Last Synced: 2024-11-20T03:01:55.395Z (about 1 month ago)
- Language: JavaScript
- Homepage:
- Size: 20.5 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# execjs
Easily spawn multiple processes and stream their output
![Screenshot](https://github.com/cfal/exec.js/raw/master/screenshot.png?raw=true)
## 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](https://nodejs.org/api/child_process.html#child_process_class_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](https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options))Returns: [ChildProcess](https://nodejs.org/api/child_process.html#child_process_class_childprocess) object