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模式