停止/重新启动后,如何让pm2进程观看?

时间:2019-09-04 15:20:11

标签: node.js pm2

我的pm2进程开始使用其默认的生态系统文件结构:

ecosystem.config.js

module.exports = {
    apps: [{
        env: {
            NODE_ENV: "development"
        },
        error_file: "./logs/error.log",
        ignore_watch: ["logs", "node_modules"],
        log_date_format: "YYYY-MM-DD HH:mm:ss Z",
        name: "my-app",
        out_file: "./logs/output.log",
        script: "./server.js",
        watch: true
    }]
}

我以pm2 start ecosystem.config.js开始该过程,并且可以在文件更改时重新加载应用,效果很好。

但是,当我使用pm2 stop ecosystem.config.js停止该过程,然后再次使用pm2 start ecosystem.config.js启动该过程时,尽管watching的显示列为{{1},但是pm2不会监视文件。 }。

再次启动该进程并进行监视的唯一方法是删除pm2进程,然后再次启动一个新的进程。

我想让enabledstop与手表一起工作吗?

谢谢。

3 个答案:

答案 0 :(得分:1)

pm2 watch & restart documentation得到了答案(必须在初读时掩盖了答案):

  

重新启动--watch将切换watch参数。

看起来像省略了已经存在的pm2实例上的--watch标志,将不会切换ecosystem.config.js文件中的watch参数。 watch参数仅在初始流程执行时切换,而不会在后续流程执行时切换。

因此,停止该过程,然后再次以pm2 start ecosystem.config.js --watch开始就可以了!

答案 1 :(得分:0)

尝试添加

watch_options: {
    "usePolling": true
}

参见此处:http://pm2.keymetrics.io/docs/usage/watch-and-restart/

这不是PM2特定的选项,而是PM2使用的chokidar选项。
这些选项的文档可以在here中找到。

答案 2 :(得分:0)

https://stackoverflow.com/users/7575111/nulldev

watch_options: { “usePolling”:真 } 答案对我很有帮助,因为它是一个试用环境,不需要我每次都重新启动应用程序