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