我无法让pm2在Windows上启动我的应用程序。我正在运行Windows 2012 R2标准和pm2 2.4.2。
我有一个JSON格式的pm2过程文件,用于启动我的所有应用程序。
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任务计划运行批处理文件:
如果我手动运行批处理文件(双击它),它可以工作。如果我手动运行计划的任务(右键单击,运行),它可以工作。
当我重新启动服务器并检查预定的任务时,它已经运行,没有错误,但是应用程序没有运行。在做pm2 list时,表中没有显示应用程序。
我不想使用 Pm2-windows服务,因为我不想将pm2作为一个服务来运行(尝试过了,它很古怪)。
我也不想使用 Pm2-windows启动,因为它似乎不适用于pm2过程文件,它只是试图记住以前运行的是什么。
我确实想在启动时使用一个普通的批处理文件。
我的批处理文件怎么了..?为什么计划的任务运行正常,但是pm2列表是空的..?
发布于 2018-05-17 23:35:22
我知道这是个老生常谈的问题,但我会留个答案给以后的搜索。
您可以在Windows文件夹中放置指向.bat文件的快捷方式。
假设PM2 cmd在path中,那么bat文件可能如下所示。
@echo off
SET PM2_HOME=C:\Users\pstart\.pm2
pm2 start C:\path\to\run.js它将启动PM2并运行程序。现在,您只需将bat文件保存在某个位置,单击“开始”按钮->运行-> shell:启动并粘贴到其中,在Windows文件夹中创建一个快捷方式。
https://stackoverflow.com/questions/42929125
复制相似问题