forever-monitor는 분리 된 자식 상태에서 자식 프로세스를 시작하므로 예상되는 동작입니다. 사용자 정의 영원히 모니터 스크립트는 사용중인 모든 신호를 처리하고 적절하게 자식 프로세스를 조작해야합니다. https://github.com/foreverjs/forever-monitor/issues/5
var forever = require('forever-monitor');
process.stdin.resume();
var child = new(forever.Monitor)('Index.js', {
max: 5,
silent: false,
minUptime: 2000,
spinSleepTime: 5000
});
child.on('start', function() {
console.log('Forever started for first time.');
});
child.on('exit', function() {
console.error('Index.js file has exited after '+child.max+' restarts');
});
//Exit handler.
function exitHandler(options, err) {
try{
//Killing node process manually that is running "Index.js" file.
process.kill(child.childData.pid);
console.log("Child process killed succesfully!!");
console.log("Forever exit!!");
}
catch(err){
console.log("Child process already stopped!!");
console.log("Forever exit!!");
}
//Killing forever process.
process.exit();
}
//Handling user exit events like Ctrl+C.
process.on('SIGINT', exitHandler.bind(null, {exit: true}));
child.start();
:
이 문서를 참조하십시오