执行pm2指令一直重启

原因是这个进程结束之后自动关闭了,pm2以为是异常退出,所以就重启了。我们举个例子。

ecosystem.config.js

module.exports = {
  apps: [
    {
      name: "push",
      script: "index.js",
      watch: true,
      ignore_watch: ["node_modules", "logs", "info.json"],
      error_file: "./logs/app-err.log",
      out_file: "./logs/app-out.log",
      log_date_format: "YYYY-MM-DD HH:mm:ss",
      env_dev: {
        NODE_ENV: "development",
      },
      env_prod: {
        NODE_ENV: "production",
      },
    },
  ],
};

这是一个简单的pm2配置,所有的输出日志会记录到logs/app-out.log里面,然后看一下index.js的内容

console.log(123);

这里面只有这一行语句,执行pm2 start之后应该只会打印一次123,但是观察一下logs/app-out.log里面的内容,123会一直打印,执行一下pm2 ls也会看到,这个进程重启了很多次。

原因就是最开始提到的问题,代码执行完毕之后这个进程就自动关闭了,pm2以为是异常退出,所以就重启了

我们来验证一下这个,把index.js中的内容换一下:

console.log(123);

setInterval(() => {
  console.log(456);
}, 3e3);

我们新加一个定时器,理论上启动之后会一直执行,不会出现自动关闭的情况,如果执行之后logs/app-out.log里面的内容123只打印一次,456每隔3s打印一次的话。那么就验证了上面的说法。

可以验证一下,最后的结论验证成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值