如果 bat 只运行一个终端,我们可以获得标准输出,但如果打开一个新窗口,我们将失败。
var terminal = require('child_process').spawn('aa.bat');
console.log('Starting..terminal.pid.', terminal.pid, "process.pid", process.pid);
terminal.stdout.on('data', function(data) {
console.log('stdout:',data);
});
terminal.stderr.on('data', function(data) {
console.log('stderr:',data);
});
terminal.on('uncaughtException', function(err) {
console.log('Caught exception: ' + err);
});
terminal.on('exit', function(code) {
console.log('exit code:', code, ' terinal.pid.', terminal.pid, "process.pid", process.pid);
console.log('child process', process.pid, 'exited with code ' + code);
});
假设bat文件是这样的
start cmd
如果我们将其更改为
start /b cmd
这不会打开一个新终端,nodeJs 会工作