Windows私有服务器PM2服务化问题:注销后进程终止求助
Windows下PM2注销用户后进程终止的离线解决办法
针对私有网络无法下载外部包的场景,提供两个无需联网的解决方法:
方法一:将PM2注册为Windows系统服务(依赖已安装的PM2)
- 打开管理员权限的CMD或PowerShell
- 执行
pm2 save,保存当前运行的PM2进程列表 - 执行
pm2 startup windows,该命令会自动生成Windows服务配置,将PM2注册为系统级服务(不受用户注销影响) - 再次执行
pm2 save,确保服务启动时能自动加载你的应用进程 - 重启系统后测试:注销用户或远程断开连接,检查应用进程是否持续运行
方法二:使用Windows原生任务计划程序(完全无额外依赖)
无需依赖PM2,直接通过系统内置工具托管应用:
- 打开「任务计划程序」,点击左侧「创建任务」
- 常规选项卡:
- 勾选「不管用户是否登录都要运行」,取消「只在用户登录时运行」
- 勾选「使用最高权限运行」
- 触发器选项卡:
- 点击「新建」,选择「在系统启动时」,设置任务随系统开机启动
- 操作选项卡:
- 点击「新建」,操作选择「启动程序」
- 程序或脚本:填入
node.exe的完整路径(如C:\Program Files\nodejs\node.exe) - 添加参数:填入应用入口文件的完整路径(如
C:\projects\my-app\app.js) - 起始于:填入应用所在的目录路径(如
C:\projects\my-app)
- 条件选项卡:
- 取消勾选「只有在计算机使用交流电源时才启动此任务」(服务器环境建议)
- 设置选项卡:
- 勾选「如果任务失败,每隔5分钟重试」(可自定义间隔)
- 勾选「允许任务按需运行」
- 取消勾选「如果任务运行时间超过X小时就停止」
- 点击「确定」完成配置,重启系统后验证效果
注意事项
- 两种方法均无需下载任何外部文件或包,完全在本地完成配置
- 若使用PM2服务方法,需确保已正确安装PM2(私有网络环境下应已提前部署)
- 测试时可通过
tasklist命令或任务管理器检查应用进程状态
内容的提问来源于stack exchange,提问作者ErickERH
相关产品推荐
相关产品推荐

