function exec (cmd, onFinish, onData) { console.log('$ ' + cmd); if (onFinish instanceof Function || onFinish === null) { const result = shelljs.exec(cmd, { async: true, silent: !verbose }, onFinish); if (onData instanceof Function) { result.stdout.on('data', onData); } } else { return shelljs.exec(cmd, { silent: !verbose }); } }
// Using implementation randomStream2 .on('readable', () => { let data; while((data = randomStream.read()) !== null) { console.log(`[Example_randomStream2] => Data received: ${data.toString()}`); } });
// Works on Mac. // TODO: Linux - Ubuntu et al. function get_arp_table(callback){ var arp = spawn('arp', ['-a']); var arp_str = ""; arp.stdout.setEncoding('utf8'); arp.stdout.on('data', function(data){ arp_str = data; }); arp.on('close', function(x){ callback(null, parse_arp_table(arp_str)); //arp.kill(); }); }
function run(title) { console.log(`Run child process: ${title} ${scriptPath}`); const childProcess = spawn('node', [scriptPath]); console.log(`Child process ${title} pid: ${childProcess.pid}`); childProcess.stdout.on('data', (data) => process.stdout.write(`Process ${title}: ${data.toString()}`)); childProcess.stderr.on('data', (data) => process.stdout.write(`Process ${title}: ${data.toString()}`)); childProcess.on('error', ({message}) => console.log(`Process ${title} ERROR: ${message}`)); childProcess.on('close', (code) => console.log(`Process ${title} exited: ${code}`)); childProcesses.push(childProcess); }
vorpal .command('log grep <query>', 'Grep logs with <query>') .action(function(args, callback) { var self=this; var grep = spawn('grep', ['-e', args.query, appConfig.logFileName]); grep.stdout.on('data', function(data) { self.log(data.toString("UTF-8")); }); callback(); });
const runElmFormat = code => { const bin = '/src/elm/elm-format' return new Promise((resolve, reject) => { let output = [] const child = spawn(bin, ['--stdin']) child.stdout.on('data', c => output.push(c.toString())) child.stdin.write(code) child.stdin.end() child.on('close', exitCode => { return resolve(exitCode ? code : output.join('')) }) }) }
child.stdout.on('data', data => { capturedOut += data; d.notify({ stdout: data }); });
vorpal .command('log start', 'Start output logs') .action(function(args, callback) { var self=this; if(tail){ self.log("Already listening to logs"); return callback(); } tail = spawn('tail', ['-f', appConfig.logFileName]); tail.stdout.on('data', function(data) { self.log(data.toString("UTF-8")); }); callback(); });
// 2. Word count using spawn(); pipe the input into this script: // // echo Hello World | node ec.js // // Running "node wc.js" doesn't work on Windows since there is // no equivalent to CTRL-D to terminate input function spawn_wc() { const { spawn } = require("child_process") const child = spawn("wc") process.stdin.pipe(child.stdin) child.stdout.on('data', (data) => { console.log(`child stdout:\t${data}`); }); }
phantom.stderr.on('data', function(data) { stderr += data; });
function launch(id) { let prc = spawn('node', ['peer.js', id]); let stderr = ''; prc.stdout.setEncoding('utf8'); prc.stdout.on('data', function (data) { var str = data.toString() var lines = str.split(/(\r?\n)/g); console.log(lines.join("").trim()); }); prc.stderr.on('data', function (buf) { stderr += buf; console.log('Err: '+stderr); }); prc.on('close', function (code) { console.log('Peer ' + id + ' exited with code ' + code); console.log('stderr ' + stderr); }); }
child.stdout.on("data", data => { console.log(`child data: ${data.toString().trim()}`) })
child.stderr.on('data', data => { capturedErr += data; d.notify({ stderr: data }); });
phantom.stdout.on('data', function(data) { stdout += data; });
cp.stdout.on('data', function (data) { console.log(data + ''); })