Node.js进程守护

理解NodeJS多进程 一次面试中,我提到自己用过pm2,面试接着问:「那你知道pm2父子进程通信方式吗」。我大概听说pm2有cluster模式,但不清楚父子进程如何通信。面试结束后把NodeJS的多进程重新整理了一下。对于前端开发同学,一定很清楚js是单线程非阻塞的,这决定了NodeJS能够支持高性能的服务的开发。JavaScript的单线程非阻塞特性让NodeJS适合IO密集型应用,因为JavaScript在访问磁盘/数据库/RPC等时候不需要阻塞等待结果,而是可以异步监听结果,同时继续向下执行。 阅读详情
前言

我想部署一个Node项目到服务器上,安装了node.js后,我直接把我的node项目直接塞进了我的服务器,输入node app.js 项目在3000端口开启的服务也成功跑了起来,如下:

在这里插入图片描述
但是,当我的项目程序报错,和我退出终端时,该项目在3000端口开启的服务也会挂掉,这是由于node.js单线程的原因,一旦报错或者退出终端,进程就会被kill掉,现在这两种情况我现在不想让他挂掉!这时该怎么办呢。

使用进程守护工具pm2
npm install pm2@latest -g // 安装
pm2 start app.js  // 启动
pm2 kill // 停止

在这里插入图片描述
在这里插入图片描述
有了这个进程守护工具,这时候你再退出终端或者项目运行报错的时候,就不用担心进程被kill掉了,它还会帮你自动重启项目!!!

重点:
使用指令pm2 start app.js --watch启动项目,使用这个指令,当你项目中文件发生更改,pm2会自动给你重启项目,免得重新起一遍项目

pm2 start app.js --watch

在这里插入图片描述
试想以下,当你在服务器上安装一了个git,电脑本地提交更改到gitee或者github上,再到服务器再重新拉取gitee、github远程仓库更新服务器代码,此时pm2会帮你自动重启项目,不用重新跑一遍项目,是不是有亿点点方便,爽到飞起!

想了解更多关于pm2的使用请去看官方文档还有其他的一些工具,forver、supervisor、或者node自带的的进程守护工具nohub都能做同样的事情,感兴趣的小伙伴可以自行去了解,我就不多赘述了。

别只刷题了!我用834分经验告诉你,华为HCIP大数据考试(H13-723)这样准备更高效 本文分享了华为HCIP大数据认证(H13-723)834分通关的高效备考经验。通过分析考试动态、题库验证技巧和章节优先级策略,帮助考生超越单纯刷题,系统化掌握核心知识点。特别强调实时流处理和离线批处理等重点章节,提供黄金90分钟临场发挥策略,助力考生一次性通过考试。 阅读详情

相关推荐

IAR链接器配置文件(.icf)实战指南:从内存映射到代码布局

本文深入解析了IAR链接器配置文件(.icf)的核心作用与实战配置方法。作为嵌入式开发的“内存地图”,.icf文件精确控制代码与数据在Flash和RAM中的布局。文章从定义存储空间、划分区域、预留栈堆,到精确放置中断向量表、代码段及初始化控制,提供了完整的配置指南与避坑技巧,帮助开发者优化内存使用,解决链接错误,是掌握嵌入式系统底层内存管理的关键。

fun88的博客 917

Node守护进程常用的方法

官方介绍:ADVANCED, PRODUCTION PROCESS MANAGER FOR NODE.JS。使用forever就可以让nodejs的应用,像服务一样在后台继续运行。官网地址:https://pm2.keymetrics.io/# 查看所有运行中的应用。# 安装forever。# 显示所有运行的应用。

weixin_43096782的博客 936

基于 parallels ubuntu 20.04 LTS (focal) 的ros+px4+gazebo 安装

基于 parallels ubuntu 20.04 LTS (focal) 的ros+px4+gazebo 安装。

weixin_40132006的博客 2240

Node.js中的进程管理和守护进程工具PM2是什么?你如何使用它们?

PM2 是一款用于 Node.js 应用程序的进程管理器,它可以帮助开发者管理和保持应用的运行状态。负载均衡:可以在多核 CPU 上运行多个实例,提高应用的性能。自动重启:在应用崩溃或意外退出时,它会自动重启进程,确保服务的可用性。日志管理:PM2 提供了清晰的日志记录功能,方便调试和监控。监控:PM2 可以实时监控应用的状态、内存使用情况等指标。脚本支持:支持通过 JSON 文件或命令行参数配置应用。

有我更精彩的博客 1658

MOS管开关设计知识-(五种MOS管开关电路图方式)

在使用MOS管设计开关电源或者马达驱动电路的时候,大部分人都会考虑MOS的导通电阻,最大电压等,最大电流等,也有很多人仅仅考虑这些因素。这样的电路也许是可以工作的,但并不是优秀的,作为正式的产品设计也是不允许的。 下面是我对MOSFET及MOSFET驱动电路基础的一点总结,其中参考了一些资料,非全部原创。包括MOS管的介绍,特性,驱动以及应用电路。 1、MOS管种类和结构 MOSFET管是FET的...

树卡花 7万+

Librepilot _64位window10环境下的搭建及一些坑的解决办法

  刚入IT行业的小菜鸟,在window上折腾了四天的librepilot地面控制站的搭建,想着这么辛苦不能白费了,看网上相关资料少得可怜,唯一一个详细教程还是在32位环境下,一大堆坑,所以把自己的经验写下来,供大家一起参考。 参考的原文是:https://www.cnblogs.com/jasonchan1202/p/7809937.html的博客,但是执行下来才发现这个博客对64位系统极其不...

weixin_41426339的博客 2727

Node服务端进程守护

官方介绍:ADVANCED, PRODUCTION PROCESS MANAGER FOR NODE.JS。官网地址:https://pm2.keymetrics.io/

weixin_43096782的博客 290

人脸关键点定义汇总

前几天看一份代码临时需要找49个人脸关键点位置定义的图片发现怎么百度都搜不到,最后幸好谷歌可以使用了就用谷歌搜到了。所以在这里汇总一下我所知道的人脸关键点的定义和相关的一点东西,以备不时之需。 68个关键点 最常用的工具是Dlib,网址:http://dlib.net/ dlib的68个特征点检测算法是ERT算法【1】 使用dlib检测68个特征点的python示例见:http://dlib.n...

程序媛 7642

nodejs服务后台持续运行三种方法

二、pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能。pm2 start app.js -i max //启动 使用所有CPU核心的集群。三、nodejs 自带node.js自带服务nohub,不需要安装别的包。pm2 restart app.js // 重启。pm2 delete app.js // 关闭。pm2 start app.js // 启动。pm2 stop app.js // 停止。4、停止 js 文件。

qq_46312886的博客 1948

DASH 流媒体协议(Dynamic Adaptive Streaming over HTTP)概述——起源、MPD文件解析、相关项目

简单介绍DASH的起源与发展、MPD文件简要解析、相关项目,以及常见流媒体协议的比较

farewellyi的博客 6886

【Java基础知识 19】Java接口的作用和意义

Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

学Java,找哪吒 2万+

node.js项目通过pm2以守护进程方式运行

我们在Linux系统上部署了一个node.js写的web项目,通过node app.js启动程序。 但是当该会话被关闭后,该node.js项目就无法被访问了,那么该如何在会话关闭后项目也能一直被外界访问呢?这就需要用到守护进程,而pm2就是其中一种解决方式。

二木成林 4613

“反激电源”是AC/DC隔离电源还是DC/DC隔离电源?

所以在一些场景,我们的输入电压是一个DC,但是我们仍然需要隔离电源的需求,我们就会只采用图9.2的右半部分。在这个场景下“反激电源”是DC/DC。所以此AC/DC的本质是将AC变成高压的DC之后,用带隔离变压器的反激式开关电源产生一个隔离的、稳定的直流电压。一般在讲述各种电源的拓扑的文章和书籍都是在讲述AC/DC的电源拓扑分类的时候,讲述Flyback。反激式开关电源是指使用反激高频变压器隔离输入输出回路的开关电源,反激式隔离变压器开关电源重点表述的是开关电源包含变压器的拓扑结构。

qq_43416206的博客 1294

node js 进程守护神forever

forever是个啥

JBBOY的专栏 2万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

从崩溃到稳定:前端开发者必学的 Node.js 守护进程实战指南

除了上面的方法,其实也还有其它一些快捷的方式来创建守护进程,如使用pm2或者forever, 但是纯手工创建守护进程的基本功不能丢了。实现守护进程的过程,也是深入理解 Node.js 进程模型和操作系统交互的绝佳机会。从工作目录设置、权限管理到信号处理、错误捕获,每一个细节都体现了对系统编程的深刻理解。这些知识不仅适用于守护进程开发,更能帮助我们编写更健壮的 Node.js 应用。

专注前端领域,深耕 Vue/React、工程化与性能优化。博客记录技术探索、源码解读与实战方案,分享靠谱的前端干货。 929

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Node.js进程守护,防止程序崩溃自动退出

最近用node在写一个TCP Socket服务器,但是客户端异常断开后,服务器会报错[Error: read ECONNRESET]错误,然后挂掉,上网查了相关文章,没有好的方法,最好的就是对服务器程序进行进程监控,如果程序退出,监控程序再重新启动服务器程序,进而防止服务器崩掉。下面是实现过程: 网上查了下,有forever和pm2等组件,安装了forever组件,进行了测试,可以正常守护进程,...

wudiazu的博客 1万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

forever-monitor入门教程:5分钟上手Node.js进程守护神器

forever-monitor是一款轻量级Node.js进程守护工具,作为forever生态的核心组件,它提供了无需命令行界面(CLI)的进程监控功能,能够自动重启崩溃的应用、控制重启频率并记录运行日志,是保障Node.js服务稳定运行的必备工具。 ## 📦 快速安装:30秒完成环境配置 使用npm即可完成forever-monitor的安装,支持Node.js 6.0及以上版本: ```

gitblog_00859的博客 920

告别服务中断:Node.js进程守护工具全攻略

你是否曾因Node.js应用意外崩溃导致服务中断而焦头烂额?是否还在手动重启进程,承受用户投诉和业务损失?本文将系统介绍进程守护工具的选型策略与最佳实践,帮助你构建7×24小时稳定运行的Node.js服务架构。读完本文,你将掌握PM2配置技巧、容器化环境下的进程管理方案,以及如何根据业务规模选择合适的高可用架构。 ## 为什么需要进程守护? Node.js作为单线程运行环境,一旦发生未捕获的异...

gitblog_00422的博客 964

node.js 守护进程

守护进程 后台运行的特殊进程,不受任何终端控制的进程。 Node开启守护进程 避免出现错误时,程序异常退出,可以开启守护进程,监控程序 ,若退出 exit,立马重启服务程序,防止服务器崩掉。 开启守护进程的方式 pm2 pm2 start index.js forever forever start index.js node child_process cluster for...

diaodundi4858的博客 374

Node.js进程守护终极指南:PM2与Forever工具完整解析

在Node.js应用开发中,进程守护是确保服务稳定运行的关键环节。无论是生产环境还是开发测试,选择合适的进程管理工具都能显著提升应用的可靠性和可维护性。本文将深入解析两款主流Node.js进程守护工具——PM2与Forever,帮助开发者快速掌握进程管理的核心技能。 ## 为什么需要进程守护工具? Node.js作为单线程运行环境,一旦应用发生未捕获的异常或崩溃,整个服务将停止响应。进程守护工

gitblog_00924的博客 884

拿什么守护你的Node.JS进程: Node出错崩溃了怎么办?

被吐嘈的NodeJS的异常处理 许多人都有这样一种映像,NodeJS比较快; 但是因为其是单线程,所以它不稳定,有点不安全,不适合处理复杂业务; 它比较适合对并发要求比较高,而且简单的业务场景。  在Express的作者的TJ Holowaychuk的 告别Node.js一文中列举了以下罪状:  Farewell NodeJS (TJ Holowaychuk)  •   y

jialeiba8的专栏 1745

windows 下的Node.js进程守护工具 - nssm

在Linux上,可以轻松的使用forever或者pm2来部署nodejs应用。但是在windows下就麻烦了,pm2明确的说支持Linux & MacOS,forever在windows下貌似问题多多: 另外还有一个选择就是iisnode,这个有空研究一下,今天先说下比较简单的nssm。nssm会监控你安装的node服务,如果node挂了,nssm会自动重启它。 官网地址: http://...

Brook 1469
上一篇: 子元素相对父元素水平垂直居中布局
下一篇: 使用Vant组件中SwipeCell组件踩的坑
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值