文档章节

nodejs run as a service on windows

谢宝龙
 谢宝龙
发布于 2014/06/18 14:45
字数 364
阅读 128
收藏 0
点赞 0
评论 0

nodejs 在windows 上运行早已经不是什么新闻,重点在于windows 上如何守护进程,并且像服务那样启动和停止。 windows 不像linux 那样可以使用forever、pm2 现成模块,后来找到了这篇文章 http://frosh.iteye.com/blog/1924837, 利用nodejs 去启动一个进程,并且监听当前的进程,当进程挂掉会自动重启。

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();

这部分代码已经可以解决核心问题了,只要运行这个脚本就可以一直守护我们的程序,但是如果有人不小心把这个cmd 窗口关闭,那么我们的进程就也over了,为了避免这种误操作我们可以使用NSSM来帮我们把这个脚本启动成一个服务,先写一个.bat的批处理

node start.js

假设我们把这个start.bat 放在里D:\

然后在使用

NSSM  install nodejs D:\start.bat

这样就安装好了一个服务,我们运行services.msc 查看一下就可以看到。 以上就是全部步骤

© 著作权归作者所有

共有 人打赏支持
谢宝龙
粉丝 24
博文 5
码字总数 1540
作品 0
丰台
高级程序员
Node.js在windows下的安装

Node.js 安装配置 本章节我们将向大家介绍在window和Linux上安装Node.js的方法。 本安装教程以Node.js v4.4.3 LTS(长期支持版本)版本为例。 Node.js安装包及源码下载地址为:https://nodejs....

梦梦阁
06/06
0
0
Node.js v6.12.3 (LTS) 发布,可以从任何目录配置

Node.js v6.12.3 (LTS) 发布了,Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时。 Node.js 使用高效、轻量级的事件驱动、非阻塞 I/O 模型。 更新内容: 显著变化 建立 configure ca...

周其
01/03
845
2
玩转树莓派-Raspberry,在2代B版上装nodejs和phonegap

下载Nodejs 创建一个新的目录去存放下载的Nodejs文件,在这里我们创建了一个'nodesdownload'目录。 注* 通过 http://nodejs.org/dist 查看最新版。 并不是所有最新版的NodeJS都能在树莓派上使...

openthings
2015/03/29
0
0
Node.js 0.7.10 开发版发布

Node.js 0.7.10 开发版发布了,这是 0.7 分支的倒数第二个版本,而 0.8.0 将在下周发布,0.8 版本在 API 和二进制格式上保持跟 0.7 版本的兼容。 主要的变化详情请看: https://github.com/j...

oschina
2012/06/12
658
3
PhoneGap first-trying to build an Android App

Android Environment Preparation. In order to develop Android application, you'll need JAVA Development Kit(JDK), Eclipse, Android Software Development Kit(Android SDK). a) JDK c......

guoliang
2014/05/25
0
0
Node.js 8.11.3 和 10.4.1 发布,JavaScript 运行时

Node.js 8.11.3 和 10.4.1 发布了,更新内容如下: 8.11.3 Notable Changes buffer (CVE-2018-7167): Fixes Denial of Service vulnerability where calling Buffer.fill() could hang http......

淡漠悠然
06/14
0
0
NodeJS对于Java开发者而言是什么?

我们都知道Node.js现在得到了所有的关注。每个人都对学习Node.js感兴趣,并希望可以工作于Node.js。在开始工作之前了解技术背后的概念总是不会错的。但对初学者来说,可能会因为不同的人使用...

城固如春
2017/10/21
0
0
使用nssm在windows服务器上部署nodejs

在Linux上,可以轻松的使用forever或者pm2来部署nodejs应用。但是在windows下就麻烦了,pm2明确的说支持Linux & MacOS,forever在windows下貌似问题多多: 另外还有一个选择就是iisnode,这个...

maweitao
2014/09/19
0
0
深入浅出Node.js(二):Node.js&NPM的安装与配置

Node.js已经诞生两年有余,由于一直处于快速开发中,过去的一些安装配置介绍多数针对0.4.x版本而言的,并非适合最新的0.6.x的版本情况了,对此,我们将在0.6.x的版本上介绍Node.js的安装和配...

leeldy
2012/10/25
0
0
Node.js开发入门—notepad++ for Node.js

对于Node.js开发,论IDE的话,Webstorm是不二的选择,但它是收费的(可免费使用30天)。一开始,我们先将就一下,使用notepad++来编写Node.js应用。这样做还有一大好处:没有关于Node.js的代...

foruok
2015/09/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

全新内存布局Android5 for one x

众所周知Android5.0默认ART模式,运行速度加倍,软件占用内存也加倍,我们one x这种元老机采用旧的内存布局,data空间2g ART模式下安装几个软件也就不够用了。最近逛国外的xda论坛,发现有大...

CrazyManDF
3分钟前
0
0
web3j转账

 web3 转账功能   为了完成以太坊交易,必须有几个先决条件   1、对方的以太坊地址   2、确定要转账的金额   3、自己地址的转账权限   4、大于转账金额的以太币,以太币转账其实就...

智能合约
4分钟前
0
0
10.28 rsync工具介绍 , rsync常用选项, rsync通过ssh同步

rsync远程同步 重点!重点!!重点!!! 例子 • rsync -av /etc/passwd /tmp/1.txt • rsync -av /tmp/1.txt 192.168.188.128:/tmp/2.txt rsync格式 • rsync [OPTION] … SRC DEST • rs......

Linux_老吴
18分钟前
0
0
iis php 环境搭建,非常详细的教程

准备篇 一、环境说明: 操作系统:Windows Server 2016 PHP版本:php 7.1.0 MySQL版本:MySQL 5.7.17.0 二、相关软件下载: 1、PHP下载地址: http://windows.php.net/downloads/releases/ph...

T_star
20分钟前
0
0
Day35 rsync通过服务同步

rsync通过服务同步 rsyncd.conf配置文件详解 port:指定在哪个端口启动rsyncd服务,默认是873端口。 log file:指定日志文件。 pid file:指定pid文件,这个文件的作用涉及服务的启动、停止等...

杉下
25分钟前
1
0
【最新最全】为 iOS 和 Android 的真机和模拟器编译 Luajit 库

编译 Luajit 库,的确是一个挑战。因为官网的教程,在当前版本的 Xcode 和 NDK 环境中,已经不适用了。以前只是编译了适用于真机的 Luajit 库。最近在尝试编译模拟器 Luajit 库,就顺便梳理了...

ios122
25分钟前
0
0
rsync至ssh同步

rsync: 文件同步工具,可实现“增量拷贝”;使用yum安装rsync包 常用选项:-a=-rtplgoD (-r同步目录,-t保持文件的时间属性,-p保持文件的权限属性,-l保持软连接,-g保持文件的属组,-o保持...

ZHENG-JY
31分钟前
0
0
TradingView 学习笔记

#前言 公司最后需要使用TradingView展示K线图走势。由于之前没接触过,拿到文档时一脸蒙逼。还好找到二篇文章+Demo代码,直接改改就行了。 #被批 由于上面的懵懂,有个问题困扰4个小时没解决...

hihubs
31分钟前
0
0
10.28 rsync工具介绍~10.31 rsync通过ssh同步

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而...

洗香香
33分钟前
1
0
卷积为什么要旋转180度

参考《最容易理解的对卷积(convolution)的解释》 https://blog.csdn.net/bitcarmanlee/article/details/54729807 这篇博客详细讲解了“卷积”,提及了为什么要反转180度,我简述下。 1.卷积的...

datadev_sh
42分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部