nodejs 写守护进程

 

 

本来用的是forever来处理守护进程的问题

 

但是过程中发现forever对于mysql数据库连接中断的情况处理不好

 

所以只能效仿其他语言的守护进程模式,感觉挺方便的

 

源码如下

 

var spawn = require('child_process').spawn,
	server = null;


function startServer(){
	console.log('restart server');
	server = spawn('node',['app.js']);
	console.log('node js pid is '+server.pid);
    server.on('close',function(code,signal){
    	server.kill(signal);
    	server = startServer();
    });
    server.on('error',function(code,signal){
    	server.kill(signal);
    	server = startServer();
    });
	return server;
};

startServer();

 

发现其实用nodejs写守护进程挺简单的

貌似有点像erlang的OTP模式

你可能感兴趣的:(nodejs)