バットが 1 つの端末のみを実行する場合、stdout を取得できますが、これが新しいウィンドウを開くと失敗します。
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);
});
このようなバットファイルを推定
start cmd
に変更すると
start /b cmd
これは新しいターミナルを開かず、nodeJsは機能します