当我们写了个NodeJS
程序的时候,一般用nodeyourjsfile.js命令启动该程序。但是如果程序中有东西出错,这个
进程就会退出。我们写程序不可能保证万无一失,肯定有些没有处理的错误,这就让很多人觉得NodeJS不稳定,容易产生很多故障。下面我就讲讲几种方法增加
你的NodeJS程序的稳定性。1.使用try{}catch(error){}来执行容易出错的代码段。比如解析一个外来的json字符串等。2.使用process.on(‘uncaughtException’,function(err){})来处理未被捕捉的错误。3.试用奶妈进程来启动你的程序,检测子进程的退出,然后自动重启该进程。比如mother.js:start()functionstart(){console.log('Motherprocessisrunning.')varls=require('child_process').spawn('node',['yourjsfile.js'])ls.stdout.on('data',function(data){console.log(data.toString())})ls.stderr.on('data',function(data){console.log(data.toString())})ls.on('exit',function(code){console.log('childprocessexitedwithcode'+code)delete(ls)4.使用nohup让nodejs进程在后台运行。比如运行nohupnodeyourjsfile.js/dev/null&nodejs中可以通过监听信号量的来监听程序的退出
例如 SIGINT 监听ctrl-D/Control-C退出程序
process.on('SIGINT', function() {
console.log('Got SIGINT. Press Control-D/Control-C to exit.')
})
1、首先nodejschild.onexit不能调用使用onexit事件处理进程结束。
2、其次先用binary来存储输出的文本,再用iconv来以cp936解析。
3、最后每个事件循环都是一个单独的调用线即可。
评论列表(0条)