You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向PM2传递参数?Node服务启动时多参数传递失败求助

PM2传递Node程序参数的正确方式
  • 直接使用正确的命令格式:
    你之前的命令多了一个多余的--,正确的写法是用单个--分隔PM2自身选项和要传给Node应用的参数:

    pm2 start server.js --name server1 -- ./config.json 9000
    

    PM2的规则是:--之后的所有内容都会原封不动传递给你的Node应用,和直接执行node server.js ./config.json 9000完全等效。

  • 验证参数是否生效:
    在你的server.js里加一行代码打印参数:

    console.log('收到的参数:', process.argv.slice(2));
    

    启动后执行pm2 logs server1查看日志,正常情况下会输出[ './config.json', '9000' ],说明参数已经正确传递。

  • 更省心的配置文件方案:
    如果需要频繁启动或管理多个服务,建议用PM2的配置文件(比如ecosystem.config.js)来定义参数,避免命令行输入出错:

    module.exports = {
      apps: [
        {
          name: 'server1',
          script: 'server.js',
          args: './config.json 9000'
        }
      ]
    };
    

    启动时直接执行:

    pm2 start ecosystem.config.js
    

内容的提问来源于stack exchange,提问作者yarek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 02:20:54