| 
                         worker.js 子进程处理逻辑如下: 
    - 创建一个 server 对象,注意这里最开始并没有监听 3000 端口
 
    - 通过 message 事件接收主进程 send 方法发送的消息
 
    - 监听 uncaughtException 事件,捕获未处理的异常,发送自杀信息由主进程重建进程,子进程在链接关闭之后退出
 
 
- // worker.js 
 - const http = require('http'); 
 - const server = http.createServer((req, res) => { 
 -     res.writeHead(200, { 
 -         'Content-Type': 'text/plan' 
 -     }); 
 -     res.end('I am worker, pid: ' + process.pid + ', ppid: ' + process.ppid); 
 -     throw new Error('worker process exception!'); // 测试异常进程退出、重启 
 - }); 
 -  
 - let worker; 
 - process.title = 'node-worker' 
 - process.on('message', function (message, sendHandle) { 
 -     if (message === 'server') { 
 -         worker = sendHandle; 
 -         worker.on('connection', function(socket) { 
 -             server.emit('connection', socket); 
 -         }); 
 -     } 
 - }); 
 -  
 - process.on('uncaughtException', function (err) { 
 -     console.log(err); 
 -     process.send({act: 'suicide'}); 
 -     worker.close(function () { 
 -         process.exit(1); 
 -     }) 
 - }) 
 
  
Node.js 进程守护 
什么是进程守护?                         (编辑:滁州站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |