`
李俊良
  • 浏览: 146820 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

0
2
分享到:
评论

相关推荐

    nodejs守护进程

    此守护进程实时监控nodejs程序是否崩溃,如果崩溃则自动重启,并将崩溃进行进行保留。已经经过测试稳定运行。后记,此程序由于没有限制控制台的行数目,所以控制台中的打印信息会无限增加,所以随着打印信息的增长会...

    Node.js-dynsdjs采用NodeJS编写的简单DNS服务器守护进程

    **Node.js-dynsdjs: 使用NodeJS构建的简易DNS服务器守护进程** 在现代Web开发中,Node.js因其异步非阻塞I/O模型而备受青睐,尤其适用于构建高性能的网络应用,包括DNS服务器。`dynsdjs`是这样一个项目,它是一个用...

    lncli-web, 在 nodejs/Angular 中,编写了lnd守护进程的轻量级网络客户端.zip

    lncli-web, 在 nodejs/Angular 中,编写了lnd守护进程的轻量级网络客户端 Lnd网络客户端安装要求nodejs/npm过程从 Lnd Web客户端git库获取源:git clone https://github.com/mably/lncli-web.git移动到新创建的目

    nodejs基础知识

    Nodejs 介绍 Nodejs 安装 NVM 版本管理器 代码的编写及运行 模块 热部署工具 守护 Node 进程 Nodejs 网站

    使用forever管理nodejs应用教程

    forever可以看做是一个nodejs的守护进程,能够启动,停止,重启我们的app应用。官方的说明是说: 代码如下:A simple CLI tool for ensuring that a given script runs continuously (i.e. forever).// 一个用来持续...

    PHP程序员玩转Linux系列 使用supervisor实现守护进程

    在Linux系统中,守护进程(daemon)是指在后台持续运行的程序,不依赖于终端,通常用于提供长期服务,如Web服务器、数据库服务等。PHP程序员在进行系统级任务或者需要长时间运行的脚本时,常常需要将程序设置为守护...

    Windows 支持 Node.JS 脚本(守护进程、事件日志、UAC 等) .zip

    节点窗口 此库可用于安装/启动/停止/卸载 Node 脚本作为生产环境的 Windows 后台服务。这不是用于开发应用程序的工具,而是用于发布应用程序的工具。此工具会生成一个可执行文件,无论计算机上安装了哪个版本的 Node...

    beanmaster:nodejs beantalk 控制台

    守护进程 您可以作为守护程序服务器启动: beanmaster start 以端口号( -p或--port )开头: beanmaster start --port 5000 停止服务器守护进程: beanmaster stop 重新启动服务器守护进程: beanmaster ...

    pi-blaster.js, NodeJS模块控制 pi blaster.zip

    pi-blaster.js, NodeJS模块控制 pi blaster pi-blaster.jsblaster守护进程的NodeJS库。安装确保你的树莓派 上安装了 node 和 npm 。安装守护进程( 指令 ) 。最后安装 pi-blaster.js:npm install pi-bl

    birdbgp:允许您通过其 UNIX 套接字与 Bird BGP 守护进程对话的 NodeJS 模块

    鸟 BGP 守护进程的 NodeJS 接口 要求 节点 本地跑的鸟 安装 在您的项目目录中使用 NPM: npm install birdbgp 在node_modules目录中使用 GIT: git clone https://www.github.com/jeffwalter/birdbgp.git 例子 ...

    node.js应用后台守护进程管理器Forever安装和使用实例

    我们用Forever来解决这个问题,它可以将NodeJS应用以后台守护进程的方式运行,我们还可以将NodeJS应用设成随系统启动而自动运行。 首先,安装Forever: 代码如下:npm install forever -gd这样Forever就安装好了,...

    NodeJs的CronTabRobCron.zip

    通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。 RobCron是一个NODEJS版本的CRONTAB,弥补了crontab的一些不足,例如,日志,报警...

    canoed:Canoe Nano 钱包的守护进程,用 Nodejs 编写

    不再维护Canoe 没有维护,带有二进制下载的 Canoe 网站不再存在,这个钱包后端也没有运行。 域“getcanoe.io”将不会在 2021 年底续订。这意味着不能再使用 Canoe,但如果您更早使用 Canoe,您可以轻松地将您的种子...

    nodejs+mysql小demo

    - **PM2**:一个Node.js进程管理工具,用于守护进程,确保服务的高可用性。 - **环境变量**:通过环境变量管理数据库连接等敏感信息,提高安全性。 这个"nodejs+mysql小demo"项目涵盖了Node.js后端开发的核心技术...

    NodeJS-server-manager:在服务器上托管多个 NodeJS 应用程序,内置反向代理

    因此,为了托管我的应用程序,我通常会在 Linux 虚拟服务器上创建一个守护进程,但为了维护,这并不方便。 所以,我正在开发这个应用程序来帮助像我这样的人轻松托管大量 NodeJS 应用程序。(fr) 简历Je suis très ...

    离线安装PM2,nodejs专用也可用于python

    它通过守护进程的方式运行Node.js应用,使得应用能够在后台持续运行,即使在服务器重启时也能保持状态。 离线安装PM2的过程通常包括以下几个步骤: 1. **下载离线安装包**:首先,你需要在有网络的环境下,从PM2的...

Global site tag (gtag.js) - Google Analytics