nodejs 将node命令启动为windows服务运行(node-windows使用)

简介: nodejs 将node命令启动为windows服务运行(node-windows使用)

目录


前言


windows执行node命令时,我们有时js需要做一件持续进行的事务,用cmd启动就必须保持窗口不被关闭,这样肯定不是万全之策,这时候我们可以尝试将node命令启动为windows服务运行。

依赖包


在项目根目录导入node-windows依赖。

npm i node-windows

安装服务


假如我这里有一个文件database.js,它做的事是将数据持续写进数据库,如果我们需要在cmd用node database启动的话,它会持续运行,而且为了它的功能运行我不能关闭它。

我们现在只编写一个service.js,就可以将它安装为windows服务运行。

//service.js
import path from "path";
import nodeWindow from "node-windows";
const Service = nodeWindow.Service;
let svc = new Service({
  name: "node_database", //名称
  description: "添加数据进入数据库", //描述
  script: path.resolve("./database.js"), //node执行入口文件
  nodeOptions: ["--harmony", "--max_old_space_size=4096"],
});
svc.on("install", function () {
  svc.start();
  if(svc.exists){
    console.log('服务安装成功')
  }
});
svc.install();

然后执行用node运行一次该文件,执行安装结束即可。

node service.js
服务安装成功

image.png

卸载服务


//uninstall.js
import path from 'path'
import nodeWindow from 'node-windows'
const Service = nodeWindow.Service
let svc = new Service({
    name: 'node_database', //名称
    script: path.resolve('./index.js'), //node执行入口文件
    nodeOptions: [
        '--harmony',
        '--max_old_space_size=4096'
    ]
});
svc.on('uninstall', function () {
    if (!svc.exists) {
        console.log('服务卸载完成');
    }
});
svc.uninstall();

同样启动即可卸载服务

node uninstall.js
服务安装成功

记得修改相关内容时,可能需要重新卸载安装服务。

尾言


如果觉得文章还不错的话,欢迎点赞收藏哦,有什么错误或者意见建议也可以留言,感谢~

相关文章
|
Web App开发 JavaScript 前端开发
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念,包括事件驱动、单线程模型和模块系统;探讨其安装配置、核心模块使用、实战应用如搭建 Web 服务器、文件操作及实时通信;分析项目结构与开发流程,讨论其优势与挑战,并通过案例展示 Node.js 在实际项目中的应用,旨在帮助开发者更好地掌握这一强大工具。
639 1
|
Linux 虚拟化 iOS开发
VMware Fusion 13.6.4 OEM BIOS 2.7 - 在 macOS 中运行 Windows 虚拟机的最佳方式
VMware Fusion 13.6.4 OEM BIOS 2.7 - 在 macOS 中运行 Windows 虚拟机的最佳方式
1484 3
|
Kubernetes API 网络安全
当node节点kubectl 命令无法连接到 Kubernetes API 服务器
当Node节点上的 `kubectl`无法连接到Kubernetes API服务器时,可以通过以上步骤逐步排查和解决问题。首先确保网络连接正常,验证 `kubeconfig`文件配置正确,检查API服务器和Node节点的状态,最后排除防火墙或网络策略的干扰,并通过重启服务恢复正常连接。通过这些措施,可以有效解决与Kubernetes API服务器通信的常见问题,从而保障集群的正常运行。
1268 17
|
监控 搜索推荐 开发工具
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
3800 2
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
|
人工智能 数据处理 C#
AI Dev Gallery:微软开源 Windows AI 模型本地运行工具包和示例库,助理开发者快速集成 AI 功能
微软推出的AI Dev Gallery,为Windows开发者提供开源AI工具包和示例库,支持本地运行AI模型,提升开发效率。
1118 13
|
Linux C# iOS开发
开源GTKSystem.Windows.Forms框架让C# Winform支持跨平台运行
开源GTKSystem.Windows.Forms框架让C# Winform支持跨平台运行
494 12
|
算法 关系型数据库 测试技术
WHQL微软驱动签名方案,让驱动程序在Windows系统流畅运行
WHQL认证(Windows徽标认证)是微软设立的严格测试标准,旨在确保驱动程序的兼容性、稳定性和互通性。本文介绍了三种WHQL微软驱动签名方案:单系统签名、多系统签名和硬件兼容性测试方案,分别满足不同开发商的需求。通过WHQL认证,不仅能消除Windows安装警告,提升用户体验,还能获得“Designed for Windows”徽标授权,入列全球Windows Catalog及HCL产品表,提升品牌权威性和采购优先权。此外,访问微软OCA可获取错误反馈,助力产品质量改进。选择合适的签名方案,让驱动在Windows系统中流畅运行!
|
存储 JavaScript NoSQL
Node.js新作《循序渐进Node.js企业级开发实践》简介
《循序渐进Node.js企业级开发实践》由清华大学出版社出版,基于Node.js 22.3.0编写,包含26个实战案例和43个上机练习,旨在帮助读者从基础到进阶全面掌握Node.js技术,适用于初学者、进阶开发者及全栈工程师。
400 9
|
开发框架 JavaScript 前端开发
Node.js日记:客户端和服务端介绍、Node.js介绍
Node.js日记:客户端和服务端介绍、Node.js介绍
|
JavaScript 前端开发 开发工具
Node.js——初识Node.js
Node.js——初识Node.js
294 4