首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PM2说可执行文件是“错误的”,但是没有正确地重新启动;仍然需要手动重新启动

PM2是一个流行的Node.js进程管理工具,用于在生产环境中管理和监控Node.js应用程序。它可以帮助开发人员简化应用程序的部署和运维工作。

在这个问答内容中,问题描述了使用PM2时遇到的问题:可执行文件是“错误的”,但是没有正确地重新启动,仍然需要手动重新启动。

针对这个问题,可能有以下几个原因和解决方法:

  1. 可执行文件错误:首先,需要确保可执行文件的路径和文件名是正确的。可以通过检查PM2配置文件或命令行参数来确认可执行文件的路径和名称是否正确。
  2. 重新启动问题:如果PM2没有正确地重新启动应用程序,可能是由于应用程序的代码存在问题或者PM2本身的配置有误。可以尝试以下解决方法:
    • 检查应用程序的代码:确保应用程序的代码没有错误或异常,可以通过在开发环境中进行调试来排查问题。
    • 检查PM2配置:确认PM2的配置文件是否正确,包括应用程序的启动命令、环境变量等。可以尝试重新配置PM2或者使用命令行参数来启动应用程序。
    • 更新PM2版本:如果使用的是旧版本的PM2,可能存在一些已知的问题或bug。可以尝试更新到最新版本的PM2来解决问题。
  • 手动重新启动:如果以上方法都无法解决问题,可以考虑手动重新启动应用程序。可以使用PM2的命令行工具手动停止应用程序,并再次使用命令行工具启动应用程序。

总结起来,对于PM2说可执行文件是“错误的”,但是没有正确地重新启动,仍然需要手动重新启动的问题,可以通过检查可执行文件路径和名称、检查应用程序代码、检查PM2配置、更新PM2版本以及手动重新启动等方法来解决。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用pm2管理go应用进程

pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能,在前端和nodejs的世界中用的很多。...但是pm2强大之处不止于此,你的go应用也可以用它来管理。之前go应用使用supervisor负责监控应用,类似的工具还有forever,异常崩溃时自动守护重启,但是pm2更简单好用啊。...假如你的go应用名字叫main可执行文件 ,那么直接pm2 start main即可,内存和cpu统统能够监控。 ?.../应用的日志,使用 pm2 logs www 2.13 重新启动进程/应用 pm2 restart www 2.14 重新启动所有进程/应用 pm2 restart all ?...-o --output :标准输出日志文件的路径。 -e --error :错误输出日志文件的路径。

3.8K11

如何在Ubuntu 16.04上设置Node.js生产应用程序

但是,为了使某些npm软件包能够正常工作(例如需要从源代码编译代码的软件包),您需要安装build-essential软件包: sudo apt-get install build-essential...一旦你确定它正在工作,按Ctrl + C终止应用程序(如果你还没有)。 安装PM2 现在我们将安装PM2,它是Node.js应用程序的进程管理器。...开始申请 您要做的第一件事是使用pm2 start命令在后台运行您的应用程序hello.js: pm2 start hello.js 这也将您的应用程序添加到PM2的进程列表中,每次启动应用程序时都会输出该列表...如果应用程序崩溃或被杀死,则在PM2下运行的应用程序将自动重新启动,但需要执行额外步骤以使应用程序在系统启动(启动或重新启动)时启动。幸运的是,PM2提供了一种简单的方法,即startup子命令。...键入以下命令确保没有引入任何语法错误: sudo nginx -t 接下来,重启Nginx: sudo systemctl restart nginx 假设您的Node.js应用程序正在运行,并且您的应用程序和

2.1K00
  • 进程管理:通过PM2来管理Node、PHP CLI等应用的运行

    什么是PM2?...PM2官网:https://pm2.keymetrics.io/docs 1.介绍 PM2.js是一个Node.js应用程序的进程管理器,可以帮助开发人员在生产环境中管理和监控Node.js应用程序或其他程序的进程...它可以自动重启应用程序,监控应用程序的资源使用情况,以及提供实时日志记录和错误处理等功能。此外,PM2.js还可以通过集成的API和CLI工具来管理和监控多个Node.js应用程序。...提高应用程序的性能:负载均衡器可以根据服务器的负载情况,将请求分配到负载较低的服务器上,从而提高应用程序的性能。 实现高可扩展性:负载均衡器可以根据需要动态地添加或删除服务器,从而实现高可扩展性。...# 备份当前应用列表 $ pm2 save # 手动恢复以前保存的进程(通过 pm2 save): $ pm2 resurrect # 禁用和删除当前的启动配置: $ pm2 unstartup 4

    1.6K40

    在腾讯云CVM上安装熟悉Node.js

    准备 在开始本文之前,您需要安装Debian 8系统到服务器,这里需要创建自定义镜像,详见文档:https://cloud.tencent.com/document/product/213/4942 本文并默认使用的是...但是,为了使某些软件包能够正常工作(例如需要从源代码编译代码的软件包),您需要安装软件包build-essential: sudo apt-get install build-essential Node.js...如果应用程序崩溃或被杀死,则在PM2下运行的应用程序将自动重新启动,但需要执行额外步骤以使应用程序在系统启动(启动或重新启动)时启动。幸运的是,PM2提供了一种简单的方法,即startup子命令。...使用此命令停止应用程序(指定PM2 的App name或id): pm2 stop app_name_or_id 使用此命令重新启动应用程序(指定PM2 的App name或id): pm2 restart...键入以下命令确保没有引入任何语法错误: sudo nginx - t 接下来,重启Nginx: sudo systemctl restart nginx 接下来,如果已启用防火墙,则允许防火墙通过Nginx

    6.7K50

    如何在Debian 9上设置Node.js生产应用程序

    这意味着应用程序将在重新启动或失败时重新启动,并且可以安全地在生产环境中使用。 在本教程中,您将在单个Debian 9服务器上设置生产就绪的Node.js环境。...如果您没有域名,建议您先去这里注册一个域名,您需要将域名解析到您的服务器,您可以使用腾讯云云解析进行快速设置。 安装了Nginx,如在Debian 9上如何安装Nginx中所述。...v8.11.4 注意:从NodeSource PPA安装时,Node.js可执行文件命名为nodejs,而不是node。...如果应用程序崩溃或被杀死,则在PM2下运行的应用程序将自动重新启动,但我们可以采取额外步骤,使用startup子命令在系统启动时启动应用程序。...键入以下命令确保没有引入任何语法错误: sudo nginx -t 重启Nginx: sudo systemctl restart nginx 假设您的Node.js应用程序正在运行,并且您的应用程序和

    2K51

    pm2:从小白到写出一键部署前后端工程

    拖拽生成 Table 页面 拖拽组件,从菜单栏到中间区域,或者同区域内更换位置,不同区域可以更换,只是目前,没有一个组件是会同时可以出现在 2 个区域的,所以此功能暂时无法看到; 单击编辑属性 右击删除...root@47.105.xxx.xx # 更新代码 cd /srv/bms-code-auto-generate git pull origin master # 远程启动后端,如果已经启动着,需要先关闭再重新启动...PM2 是一个守护进程管理器,它将帮助您管理和保持您的应用程序在线。 第一版 简单使用pm2 去启动index.js文件 在服务器上。...后来发现,去掉--watch不会重启,并且下载链接不会报错,但是,这时候,又出现了一个问题,就是,当代码有更新时,node服务并不会自动重新启动,这就又回到了“原始农业”时代,我觉得应该监控文件是可配置的...现代农业 虽然上面的后端部署方式有了很大的改进,但是还是有个弊端就是,需要每次登陆服务器并且去手动拉代码,这样很麻烦。 于是写了一个一键部署的命令。

    85610

    使用pm2部署node生产环境

    一、PM2是什么 是可以用于生产环境的Nodejs的进程管理工具,并且它内置一个负载均衡。它不仅可以保证服务不会中断一直在线,并且提供0秒reload功能,还有其他一系列进程管理、监控功能。...; 好像需要修改内容,浏览器对修改的内容没有显示出来?...通过这个很常用的场景,我们了解到要避免这些麻烦一个服务器至少需要有:后台运行和自动重启,这两个能力。.../dist 8080将目录dist作为静态服务器根目录,端口为8080 删除应用pm2 delete [options] 删除指定应用;如果修改了应用配置行为,需要先删除应用,重新启动后方才会生效...[ID] //根据应用ID关闭并删除应用 pm2 kill 杀掉pm2管理的所有进程; pm2 logs 查看指定应用的日志,即标准输出和标准错误

    4K40

    如何在 Ubuntu Linux 中正确地设置 JAVA_HOME 变量 | Linux 中国

    否则,你的系统将会向你控诉 “java_home 环境变量没有设置”。 在这篇初学者教程中,我将向你展示在 Ubuntu 上正确地设置 JAVA_HOME 变量的步骤。...使用 which 命令 来获取 Java 编译器可执行文件的位置: which javac 在这里的问题是,它给出的位置实际上是一个 符号链接 。...你将需要按照下图执行几次: image.png 最简单的方法是直接使用下面这条命令跟随符号链接来以获取实际的可执行文件: readlink -f `which java` readlink 命令会跟随一个符号链接...这里是上面的三个命令的全部的输出: image.png 现在,即使你退出会话或重新启动系统,JAVA_HOME 环境变量都仍将设置为你所具体指定的值。这就是你所想要的,对吧?...注意,如果你将来更改默认的 Java 版本,你将需要更改 JAVA_HOME 环境变量的值并将其指向正确的可执行文件的路径。

    14.3K71

    博客改造之旅

    原因 ​ 之前的博客是用umi来编写的,快速开发,但是是客户端渲染,首屏加载比较慢,不利于seo等,于是我便瞄准了next.js。...但是每次都需要自己手动部署,还是比较麻烦,在这次的周末,我便用上午的时光来学习cicd自动化部署。...踩坑node项目自启 到了最关键的一步,build以后需要去重新启动node项目,因为我用的是宝塔 所以最开始为了方便,我都是直接添加的node项目,然后想去通过node restart 项目,但是一直失败...,后面有去改pm2命令 但是也一直有问题 显示pm2里面没这个项目,我一度感觉宝塔里面的node项目不是真的用的pm2.。...虽然他显示可以用pm2启动项目,我查看日志,也是显示的pm2启动项目成功,但是我去pm2 restart项目,一直没用。真的是气死我了。最后我直接用pm2去添加项目,然后终于是可以自动重启项目了。

    28820

    如何在Ubuntu 18.04上配置Node.js生产环境应用

    这意味着它们将在重启故障时再次重新启动,并且可以安全地用于生产环境中。 在本教程中,您将在单个Ubuntu 18.04服务器上设置生产就绪的Node.js环境。...该服务器将运行由PM2管理的Node.js应用程序,并通过Nginx反向代理为用户提供对应用程序的安全访问。 准备 本教程需要您具有以下内容: Ubuntu 18.04服务器设置。...如果没有看到预期的输出结果,请确保Node.js应用程序正在运行并配置为侦听在正确的地址和端口。 一旦你确定它正常工作,按下CTRL+C即可终止应用程序(如果您还没有终止程序)。...PM2还维护其他信息,例如PID进程,其当前状态和内存使用情况。 如果应用程序崩溃或被杀死,在PM2下运行的应用程序将自动重新启动,使用startup子命令在系统启动时启动应用程序。...输入以下命令确保没有引入任何语法错误: $ sudo nginx -t 重启Nginx: $ sudo systemctl restart nginx 假设您的Node.js应用程序正在运行,并且您的应用程序和

    2.9K30

    如何在Ubuntu 16.04上使用PM2和Nginx开发Node.js TCP服务器应用程序

    TCP(传输控制协议)是一种网络协议,可在应用程序之间提供可靠,有序和错误检查的数据流传输。TCP服务器可以接受TCP连接请求,一旦建立连接,双方都可以交换数据流。...,但我们仍然需要手动更改文件以添加其他部分,包括启动命令。...但是,如果我们重启机器,它将不再运行,所以让我们为它创建一个systemd服务。 运行以下命令以生成和安装PM2的systemd启动脚本。...,您可以使用错误日志路径打开并查看错误日志以调试错误: cat /home/tcp/.pm2/logs/server-error-0.log 如果更改服务器代码,则需要重新启动应用程序的进程以应用更改...检查您的Nginx配置以确保您没有引入任何语法错误: sudo nginx -t 接下来,重新启动Nginx以启用TCP和UDP代理功能: sudo systemctl restart nginx 接下来

    1.5K30

    PM2 关于内存限制导致 worker 重启的日志

    我们可以通过将这些内容分别解释,再逐步整合,来揭示整条日志的含义。PM2 和 WORKERPM2 的定义与作用PM2 是一个进程管理器。...为了保证系统的健壮性,PM2 自动重新启动了该进程。设想一个场景:假设你有一个智能家居的控制系统,里面有多个功能模块负责控制不同的设备,比如灯光、温控等。...举个例子:假如你每次使用一张纸记下笔记,但用完后却没有把纸张丢掉,而是把它们堆在桌上,那么随着时间的推移,纸张会堆积得越来越高,直到桌面再也没有空间。...进程重启的过程当 PM2 检测到某个进程的内存使用超过限制后,它会首先停止该进程,然后重新启动一个新的实例。...同时也能帮助系统运维人员理解进程重启背后的原因,从而更好地监控和维护系统的运行。在未来的系统设计中,自动化的进程管理和高效的内存使用仍然是不可或缺的关键部分。

    11210

    关于 Java 内存泄露的错误认知,你所应该了解的

    由于这些未使用的对象仍然被引用,可能会导致内存不足错误(OutOfMemoryError),从而影响应用程序的可靠性和性能。...认知 3: Java 具有自动内存管理,无需对其进行干涉 有时候技术人员错误地认为 Java 完全不需要关注内存管理,因为它具有自动垃圾回收机制。然而,这种观点是误导性的。...3、未关闭 JDBC 连接、ResultSet 和语句对象、文件句柄和套接字等资源: 在使用需要手动管理的资源时,如 JDBC 连接、ResultSet 和语句对象、文件句柄和套接字等,如果没有正确地关闭或释放这些资源...虽然高质量的代码可以提高程序的可靠性和性能,但并不能保证绝对没有内存泄漏问题。即使代码在其他方面达到了高质量的标准,仍然有可能存在内存泄漏的风险。...虽然 GC 可以帮助减少手动内存管理的负担,但对于确保内存泄漏问题的解决,仍需要开发人员的主动参与和正确的编码实践。 以上为在实际的开发活动中最为常见的错误认知场景,供大家参考。

    1.4K73

    深入理解Node.js 进程与线程(8000长文彻底搞懂)

    前言 进程与 线程是一个程序员的必知概念,面试经常被问及,但是一些文章内容只是讲讲理论知识,可能一些小伙伴并没有真的理解,在实际开发中应用也比较少。...,如果想要调用其他的路由地址比如127.0.0.1/大约需要15秒时间,也可以说一个用户请求完第一个 compute接口后需要等待15秒,这对于用户来说是极其不友好的。...Node.js 开发过程中,错误会引起整个应用退出,应用的健壮性值得考验,尤其是错误的异常抛出,以及进程守护是必须要做的。...原因是child_process操作子进程时,可以隐式的创建多个TCP服务器,对比上面的两幅图应该能理解我说的内容。...当使用该选项时,kill命令也试图杀死所留下的子进程。但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。

    94120

    世界是由懒人改变的

    最近把放下了近大半年的Hexo博客重新拾起来了,写篇文章记录一下。至于当初为什么会放下,其中一个原因是用户体验太差,还需要手动创建移动md文件,仿佛回到了原始社会。其实最重要的原因是自己太懒。...最近重新拾起来Hexo博客的原因也挺简单,大脑是用来思考事物的而不是记录事物的,得有一个地方记录平时一些琐碎的想法,公众号和技术博客显然不是太合适。但是一想起Hexo那原始的操作,就有点头大。...通过浏览器直接管理本地的md文件 一键发布,不用手动执行hexo命令 下面是解决过程: 1.安装Node.js环境 2.安装Git 3.安装Hexo 在自己认为合适的地方创建一个文件夹,然后在文件夹空白处按住...你也可以根据自己的需要更换主题,这里不再赘述。...npm install --save hexo-admin 使用 hexo s重新启动Hexo服务,然后访问 localhost:4000/admin(这里使用默认端口),便可以使用浏览器管理我们的Hexo

    56620

    深入理解Node.js 进程与线程(8000长文彻底搞懂)

    前言 进程与 线程是一个程序员的必知概念,面试经常被问及,但是一些文章内容只是讲讲理论知识,可能一些小伙伴并没有真的理解,在实际开发中应用也比较少。...,如果想要调用其他的路由地址比如127.0.0.1/大约需要15秒时间,也可以说一个用户请求完第一个 compute接口后需要等待15秒,这对于用户来说是极其不友好的。...Node.js 开发过程中,错误会引起整个应用退出,应用的健壮性值得考验,尤其是错误的异常抛出,以及进程守护是必须要做的。...原因是child_process操作子进程时,可以隐式的创建多个TCP服务器,对比上面的两幅图应该能理解我说的内容。...当使用该选项时,kill命令也试图杀死所留下的子进程。但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。

    1.1K30

    深入理解Node.js 进程与线程(8000长文彻底搞懂)

    前言 进程与 线程是一个程序员的必知概念,面试经常被问及,但是一些文章内容只是讲讲理论知识,可能一些小伙伴并没有真的理解,在实际开发中应用也比较少。...,如果想要调用其他的路由地址比如127.0.0.1/大约需要15秒时间,也可以说一个用户请求完第一个 compute接口后需要等待15秒,这对于用户来说是极其不友好的。...Node.js 开发过程中,错误会引起整个应用退出,应用的健壮性值得考验,尤其是错误的异常抛出,以及进程守护是必须要做的。...原因是child_process操作子进程时,可以隐式的创建多个TCP服务器,对比上面的两幅图应该能理解我说的内容。...当使用该选项时,kill命令也试图杀死所留下的子进程。但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。

    2.6K10

    如何建立一个Node.js的应用生产在Ubuntu 14.04

    Node.js应用程序可以在命令行上运行,但是我们将教你如何将它们作为一个服务来运行,所以它们会在重新启动或失败时自动重启,所以你可以在生产环境中使用它们。...在应用程序服务器上,确保通过按CTRL + C来终止应用程序(如果还没有的话)。 安装PM2 现在我们将安装PM2,它是Node.js应用程序的进程管理器。...在PM2下运行的应用程序将在应用程序崩溃或被终止的情况下自动重新启动,但需要额外执行一个步骤才能在系统启动(启动或重启)时启动应用程序。 幸运的是,PM2提供了一个简单的方法来完成这个启动子命令。...请注意,在没有任何参数的情况下运行pm2会显示一个帮助页面,其中包括示例用法,其中涵盖了PM2的使用情况,比本教程的这一节更详细。...在Web服务器上,重新启动Nginx: $ sudo service nginx restart 假设您的Node.js应用程序正在运行,并且您的应用程序和Nginx配置是正确的,您应该能够通过Web服务器的反向代理来访问您的应用程序

    1.6K00

    UMAMI隐私统计安装及配置

    环境 这里使用两种方法去安装umami,第一种是使用pm2或者supervisor直接运行在本机环境的,第二种是使用docker pull并build镜像。...需要准备的有: MySQL nodejs npm pm2(或者supervisor) Ubuntu系列安装Nodejs、npm: curl -sL https://deb.nodesource.com/...启动程序 按照官方readme说的直接npm start是可以的,默认会运行在3000,但是我们如果关闭了终端会话,也会停止运行, 所以需要使用PM2或者supervisor进行后台保活运行,...如果我们使用的是第一种本机环境运行,那么可以通过npm安装pm2:npm install pm2 -g 在umami目录下执行: pm2 start npm --name umami -- start...切换到你的umami目录pull一份最新的代码git pull 重新安装node modules npm install 重新编译npm run build 重新启动PM2pm2 restart umami

    1.7K40
    领券