RSS订阅爱生活爱技术
你的位置:首页 » node.js » 正文

使用nodejs实现守护进程

选择字号: 超大 标准 发布时间:2014年04月06日 | 作者:root | 1个评论 | 1244人浏览

写一个一直运行永远不挂掉的程序是一件很难的事儿,至少一次性写成很难。但是为了不因为程序挂掉而耽误时间我们往往需要一个守护进程来看着程序是否挂掉,如果挂掉那么将程序重启,重启的同时还要收集挂掉的原因,这样我们的程序才会越来越健壮。

今天我遇到了这样的问题,如下是我使用nodejs实现的一个守护进程,

var spawn = require('child_process').spawn;

function start(){
    nw = spawn('./nw', ['book']);
	
    nw.on('close',function(code, signal){
        nw.kill(signal);
        nw = start();
    });
    nw.on('error',function(code, signal){
        nw.kill(signal);
        nw = start();
    });
    return nw;
};

start();

此端代码将调运外部的nw命令,当子进程退出或者出错的时候将子进程重启,程序写的简陋了些,仅仅提供一个思想。


另外我们知道,我们的程序往往是有状态的。比如我们写一段程序处理数据,如果程序重启那么需要能继续上一次处理的位置继续处理。


标签:

如果您认为文章对您有帮助请点击广告

猜你喜欢

已有1位网友发表了看法:

1#访客  2015-09-26 17:55:58 回复该评论
挺好,可以借鉴一下。

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

网站分类
最近发表