我使用節點6.9產生子進程。Node.js子進程使用SIGTERM退出
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
什麼終止我的子進程,爲什麼?
編輯: 我已添加killSignal:'SIGILL'作爲選項。
var child = require('child_process').execFile('geth', args, { killSignal: 'SIGILL'});
現在,我得到這個:
ERROR: go-ethereum terminated. Exit code: 2, signal: null
「獨立」意味着在容器內但不是由Node產生,還是在容器外產生,但由Node產生? – Ryan
嗨瑞安,對不起,我說得更清楚。在容器內但不會產生節點 – mitchkman
我不認爲'args'具有'timeout'屬性?如果你通過Object.assign({},args,{killSignal:'SIGILL'})',信號是否改變? – Ryan