?
?
本来用的是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模式