使用nodejs实现守护进程

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

今天我遇到了这样的问题,如下是我使用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命令,当子进程退出或者出错的时候将子进程重启,程序写的简陋了些,仅仅提供一个思想。


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



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值