我需要停止我的nodejs应用程序的一些条件。所以我使用了process.exit()方法。我正在使用PM2运行应用程序。但PM2在每次停止时都会重新启动应用程序。那么有没有可能在PM2中禁用重启。
process.exit()
brccelvz1#
我想你需要--no-autorestart标志。“不自动重新启动应用程序”http://pm2.keymetrics.io/docs/usage/quick-start/
--no-autorestart
5jvtdoz22#
简单的--no-autorestart工作起来就像魅力。使用示例:pm2 start script.js --no-autorestart
pm2 start script.js --no-autorestart
kwvwclae3#
如果你使用pm2,使用配置json文件,例如pm2.config.json或其他,那么需要在json文件中指定类似的选项**“autorestart”到false**。
pm2.config.json
"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 } ] }
6ie5vjzr4#
如果使用pm2配置文件,请使用
正如@WitVault所建议的但是确保你没有像这样将watch选项设置为true:
watch
true
"watch": true // This field should NOT be present, otherwise "autorestart" : false is ignored
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被告知不要重启我知道这是一个迟来的回应,但我添加了它,以供未来阅读本文的读者使用。
5条答案
按热度按时间brccelvz1#
我想你需要
--no-autorestart
标志。“不自动重新启动应用程序”
http://pm2.keymetrics.io/docs/usage/quick-start/
5jvtdoz22#
简单的
--no-autorestart
工作起来就像魅力。使用示例:pm2 start script.js --no-autorestart
kwvwclae3#
如果你使用pm2,使用配置json文件,例如
pm2.config.json
或其他,那么需要在json文件中指定类似的选项**“autorestart”到false**。例如
我使用pm2运行一个java应用程序,使用下面的json配置文件
6ie5vjzr4#
如果使用pm2配置文件,请使用
正如@WitVault所建议的但是确保你没有像这样将
watch
选项设置为true
: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被告知不要重启我知道这是一个迟来的回应,但我添加了它,以供未来阅读本文的读者使用。