NodeJS 在PM2中禁用重启

fwzugrvs  于 2023-06-22  发布在  Node.js
关注(0)|答案(5)|浏览(239)

我需要停止我的nodejs应用程序的一些条件。所以我使用了process.exit()方法。我正在使用PM2运行应用程序。但PM2在每次停止时都会重新启动应用程序。那么有没有可能在PM2中禁用重启。

brccelvz

brccelvz1#

我想你需要--no-autorestart标志。
“不自动重新启动应用程序”
http://pm2.keymetrics.io/docs/usage/quick-start/

5jvtdoz2

5jvtdoz22#

简单的--no-autorestart工作起来就像魅力。使用示例:pm2 start script.js --no-autorestart

kwvwclae

kwvwclae3#

如果你使用pm2,使用配置json文件,例如pm2.config.json或其他,那么需要在json文件中指定类似的选项**“autorestart”false**。

"autorestart" : false

例如

我使用pm2运行一个java应用程序,使用下面的json配置文件

{
  "apps" : [
    {
      "name":"JAVA-Pm2",
      "cwd":".",
      "script":"/usr/bin/java",
      "args":[
        "-jar",
        "/dir/my-java-app/build/libs/my-java-app-all.jar"
    ],
    "node_args":[],
    "exec_interpreter":"",
    "exec_mode":"fork",
    "autorestart" : false
  } 
  ]
}
6ie5vjzr

6ie5vjzr4#

如果使用pm2配置文件,请使用

"autorestart" : false

正如@WitVault所建议的但是确保你没有像这样将watch选项设置为true

"watch": true   // This field should NOT be present, otherwise "autorestart" : false is ignored
nszi6y05

nszi6y055#

你也可以在pm2启动时使用--stop-exit-codes标志列出退出代码,这些退出代码不会导致pm2重启,这样你仍然可以使用pm2的自动重启功能,但它不会在干净的退出时重启https://blog.appsignal.com/2022/03/09/a-complete-guide-to-nodejs-process-management-with-pm2.html是关于使用pm2和node js的指南,你可以做一个进程。停止指定一个退出代码,pm2被告知不要重启我知道这是一个迟来的回应,但我添加了它,以供未来阅读本文的读者使用。

相关问题