gpt4 book ai didi

windows - Windows启动时使用批处理文件启动pm2?

转载 作者:可可西里 更新时间:2023-11-01 11:46:46 28 4
gpt4 key购买 nike

我无法获得 pm2在 Windows 上启动我的应用程序。我正在运行 Windows Server 2012 R2 Standard 和 pm2 2.4.2

我有一个 pm2 process file采用我用来启动所有应用程序的 JSON 格式。

c:\pm2\process.json

{
"apps": [
{
"name" : "my-app",
"script" : "c:\\node\\myapp\index.js"
}
]
}

我有一个使用 JSON 文件的批处理文件:

c:\pm2\pm2-startup.bat

@echo off

set HOMEDRIVE=C:
set PM2_HOME=C:\etc\.pm2
setx /M PM2_HOME C:\etc\.pm2

cd C:\pm2 & pm2 start process.json

我有一个计划运行批处理文件的 Windows 任务:

  • 触发:启动时
  • 运行于:管理员帐户
  • 无论用户是否登录都运行:
  • 以最高权限运行:
  • 行动:启动一个程序
    • 脚本:C:\pm2\pm2-startup.bat
    • 开始于:C:\pm2

如果我手动运行批处理文件(双击它),它就会工作。如果我手动运行计划任务(右键单击,运行),它会起作用。

当我重新启动服务器并检查计划任务时,它已经运行,没有错误,但是应用程序没有运行。执行 pm2 list 显示表中没有应用程序。

我不想用 pm2-windows-service因为我不想将 pm2 作为服务运行(试过了,它很不稳定)。

我不想用 pm2-windows-startup要么因为它似乎不适用于 pm2 process file , 它只是试图记住之前运行的是什么。

我确实想在启动时使用一个普通的批处理文件。

我对批处理文件做错了什么......?为什么定时任务运行正常,但是pm2列表是空的..?

最佳答案

我知道这是一个老问题,但我会留下一个答案供以后搜索。

您可以在 Windows 启动文件夹中放置 .bat 文件的快捷方式。

假设 PM2 cmd 在路径中,您的 bat 文件可能如下所示。

@echo off

SET PM2_HOME=C:\Users\pstart\.pm2

pm2 start C:\path\to\run.js

这将启动 PM2 并运行程序。现在,您只需获取 bat 文件并将其保存在某个位置,然后通过单击开始按钮 -> 运行 -> shell:startup 并将其粘贴到其中,在 Windows 启动文件夹中创建一个快捷方式。

关于windows - Windows启动时使用批处理文件启动pm2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42929125/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com