我的编程空间,编程开发者的网络收藏夹
学习永远不晚

深入浅析Node的进程管理工具“pm2”

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

深入浅析Node的进程管理工具“pm2”

我们使用命令行方式启动project1应用,进入到project文件目录,运行pm2 start index.js命令,我们没有在命令中设定任何参数,pm2 会自动按照默认参数值进行执行。例如自动将入口文件的文件名index作为应用名称。几乎每一次命令执行完成后,pm2 都会显示一个应用列表(如下图所示),接着你就可以在网页中输入:localhost:8001查看project1项目

我们接着使用配置文件方式启动project2和project3应用,因为两个应用的配置在同一个文件,因此我们只需要运行一次配置文件,启动成功后可在网页中访问localhost:8002和localhost:8003

【2】停止应用

使用id停止:pm2 stop <id>

使用name停止:pm2 stop <name>

停止所有应用:pm2 stop all

【3】重启应用

使用id重启:pm2 reload <id>

使用name重启:pm2 reload <name>

重启所有应用:pm2 reload all

【4】显示应用列表

pm2 list

pm2 ls

pm2 status

【5】以JSON格式显示应用列表

pm2 jlist

pm2 prettylist

使用 pm2 jlist 命令,你会发现输出的内容很乱,你可以使用 pm2 prettylist 命令来输出优化过的 JSON 格式内容

【6】查看应用信息

pm2 describe id
pm2 describe name

上述的 JSON 格式应用列表,输出了所有应用的信息,而且信息十分凌乱,我们可以使用 pm2 describe 命令来查看指定应用的信息

【7】实时打印日志

打印日志:pm2 logs

指定日志行数:pm2 logs --lines (指定显示的日志行数)

清空日志:pm2 flush

对于线上正在运行的应用,有的时候需要打印实时日志来进行调试排查问题,虽然日志会自动添加到日志文件里面,但是总之不太方便。pm2 提供了logs命令,可以直接实时打印日志。

注意:当前命令行页面使用了该命令后,当前命令行会一直处于监听状态,你需要再新开一个命令行去敲其他命令

【8】显示仪表盘

pm2 monit

【9】删除应用

通过Id删除:pm2 delete id

通过name删除:pm2 delete name

删除所有应用:pm2 delete all

删除应用几乎不会造成任何后果,只是在管理列表中删除了这一项,并不会删除项目文件

【10】配置参数-应用名称

--name <app_name>

在命令行方式中,使用 --name <app_name> 参数指定应用名称,上面我们命令行运行的project1默认名称为index,现在我们指定名称为project1

【11】配置参数-监听目录

监听目录:--watch

指定目录不被监听:--ignore-watch

监听目录用于当指定监听目录文件发生变化时,pm2 将会自动重启应用

除了指定一个监听目录外,还可以再继续指定某个目录不被监听,例如上述的例子,指定了project1目录为监听目录,然后你把日志文件放在了这个目录下,比如为 logs 目录,这个目录不希望被监听,否则会形成死循环,这时候就需要用到另一个参数 --ignore-watch,输入一下命令

pm2 start 0 --watch --ignore-watch './logs'

【12】配置参数-最大内存数

--max-memory-restart xxx(K|M|G)

设置最大内存数,当应用运行时占用的内存超出该数值后,应用将自动重启。命令行方式通过 --max-memory-restart 参数设定应用运行最大内存,后续跟上数值和单位,单位只能是 K,M,G 三个值,分别表示 KB,MB,GB 。

【13】配置参数-日志存放路径

--log <log_path>

日志默认会放置在 $HOME/.pm2/logs/ 目录下,使用 --log <log_path> 指定日志文件路径

pm2 start index.js --log ./logs/mylog.log

以上就是深入浅析Node的进程管理工具“pm2”的详细内容,更多请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

深入浅析Node的进程管理工具“pm2”

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

深入浅析Node的进程管理工具“pm2”

本篇文章给大家分享Node的进程管理工具“pm2”,聊聊为什么需要pm2、安装和使用pm2的方法,希望对大家有所帮助!
2023-05-14

深入聊聊Node进程管理工具-pm2的使用方法

如何使用Node进程管理工具-pm2,下面本篇文章带大家聊聊Node进程管理工具-pm2的使用方法,希望对大家有所帮助!
2023-05-14

node进程管理工具PM2怎么使用

今天小编给大家分享一下node进程管理工具PM2怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。PM2是node进程管
2023-07-02

Node的进程管理工具pm2怎么使用

本篇内容介绍了“Node的进程管理工具pm2怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PM2简介PM2是一个内建了负载均衡器的n
2023-07-05

一文教你如何使用Node进程管理工具-pm2

这篇文章详细介绍了如何使用node进程管理工具pm2,文中代码示例讲解的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以借鉴一下
2023-05-16

深入浅析Node中的进程和线程

线程和进程是计算机操作系统的基础概念,在程序员中属于高频词汇,那如何理解呢?Node.js 中的进程和线程又是怎样的呢?下面本篇文章就来带大家深入了解一下Node中的进程和线程。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
2023-05-14

深入浅析HashMap的工作原理

这篇文章给大家介绍深入浅析HashMap的工作原理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。实际上,HashSet 和 HashMap 之间有很多相似之处,对于 HashSet 而言,系统采用 Hash 算法决定集
2023-05-31

深入浅析Java中的Spring事务管理

深入浅析Java中的Spring事务管理?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。环境与版本本文出来之前的一篇文章中的hibernate的相关lib 外Java事务管理之H
2023-05-31

深入浅析Java中的Hibernate事务管理

深入浅析Java中的Hibernate事务管理?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。环境与版本hibernate 版本:Hibernate 4.2.2 (下载后的文
2023-05-31

深入浅析Android应用中的多进程

这篇文章将为大家详细讲解有关深入浅析Android应用中的多进程,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。android:process应用实现多进程需要依赖于android:proce
2023-05-31

Node.js PM2 与其他进程管理器的对比分析

本文对比 Node.js 的进程管理器 PM2 和其他流行进程管理器的特性、优缺点、适用场景等因素,帮助读者选择最适合自己的进程管理器。
Node.js PM2 与其他进程管理器的对比分析
2024-02-12

深入浅析python中的多进程、多线程、协程

进程与线程的历史我们都知道计算机是由硬件和软件组成的。硬件中的CPU是计算机的核心,它承担计算机的所有任务。 操作系统是运行在硬件之上的软件,是计算机的管理者,它负责资源的管理和分配、任务的调度。 程序是运行在系统上的具有某种功能的软件,比
2022-06-04

深入理解Node.js中的进程管理

前言 本文主要对 Node.js 中进程管理相关的东西做一个简单介绍,包括 process 对象、child_process 模块和cluster 模块,详细的 API 可以查看官方文档,下面来看看详细的介绍吧。 Process 对象 pr
2022-06-04

开源的进程管理工具Supervisor

Supervisor是一个开源的进程管理工具,可以帮助用户监控和控制运行在Unix-like系统上的进程。它提供了一套简单的API和命令行接口,可以用来启动、停止、重启和管理进程。Supervisor的主要特点包括:1. 进程监控:Supe
2023-09-22

深入浅析Java中线程池的原理

这篇文章将为大家详细讲解有关深入浅析Java中线程池的原理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。ThreadPoolExecutor简介ThreadPoolExecutor是线程池类
2023-05-31

深入浅析GitHub上有效管理代码的方法

作为开发人员,我们会经常使用GitHub这个在线代码托管平台。它为我们提供了许多方便的功能,例如版本控制、协作开发和代码审核等等。然而,在GitHub上管理代码并不总是十分容易。如果您不小心管理您的代码,您可能会遇到许多问题,例如代码冲突、
2023-10-22

Linux运维工具Supervisor的安装使用(进程管理工具)

一、介绍 Supervisor是用python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。目前Supervisor可以运行在大多数Unix系统上,但不支持在Win
2022-06-04

常用的golang多进程管理工具有哪些

常用的golang多进程管理工具有以下几种:Supervisor:一个基于Python的进程管理工具,支持多种语言,包括Golang。它可以监控、启动、停止和重启多个进程,并提供进程状态监控和日志记录等功能。PM2:一个基于Node.js的
2023-10-21

编程热搜

目录