我正在使用 Node 6.9 生成一个子进程。
const child = require('child_process').execFile('command', args);
child.stdout.on('data', (data) => {
console.log('child:', data);
});
child.stderr.on('data', (data) => {
console.log('child:', data);
});
child.on('close', (code, signal) => {
console.log(`ERROR: child terminated. Exit code: ${code}, signal: ${signal}`);
});
我的子进程运行了约 1m 30 秒,但随后我从 Node.js 程序中得到了以下输出:
ERROR: child terminated. Exit code: null, signal: SIGTERM
是什么终止了我的子进程?为什么?
Edit:我添加了killSignal:'SIGILL'作为选项。
var child = require('child_process').execFile('geth', args, { killSignal: 'SIGILL'});
现在,我明白了:
ERROR: go-ethereum terminated. Exit code: 2, signal: null