Vagrant 如何让PM2监测流浪汉的变化';谁的共享目录?

Vagrant 如何让PM2监测流浪汉的变化';谁的共享目录?,vagrant,pm2,Vagrant,Pm2,我正在使用1.8.1和5.0.16r105871并设置一个ubuntu/wily64框。我在来宾服务器上安装了Node4.4.3。我使用以下过程来启动并运行服务器 cd /vagrant npm install npm install -g pm2 pm2 startup ubuntu sudo su -c "env PATH=$PATH:/usr/bin pm2 startup ubuntu -u vagrant" pm2 start process.json pm2 save 我试着用--

我正在使用
1.8.1
5.0.16r105871
并设置一个
ubuntu/wily64
框。我在来宾服务器上安装了Node
4.4.3
。我使用以下过程来启动并运行服务器

cd /vagrant
npm install
npm install -g pm2
pm2 startup ubuntu
sudo su -c "env PATH=$PATH:/usr/bin pm2 startup ubuntu -u vagrant"
pm2 start process.json
pm2 save
我试着用
--watch
选项启动PM2,但没有成功。 我尝试使用PM2进程配置,但只有在来宾机器上触摸文件时,它才起作用

{
  "apps": [{
    "name": "mean-boilerplate",
    "script": "index.js",
    "watch": ["index.js"],
    "env": {
      "NODE_ENV": "development",
    }
  }]
}

有没有办法让它与PM2一起工作?或者我应该使用不同的方法/模块。

当我需要监视驻留在主机上但装载在Vagrant VM(如共享目录)中的文件夹时,usePolling选项使监视功能对我有效。尝试这样将其添加到JSON配置中:

{
  "apps": [{
    "name": "mean-boilerplate",
    "script": "index.js",
    "watch" : ["index.js"],
    "watch_options" : {"usePolling": true},
    "env": {
      "NODE_ENV": "development",
    }
  }]
}

我也有过类似的问题,但现在我已经解决了

我使用的是vagrant 2.2.0和ubuntu/xenial64-box(当前版本是16.04)

起初,我尝试添加此选项

"watch_options" : {"usePolling": true},
还有更多与轮询时间(interval和binaryInterval)相关的选项(参考:)

由于默认间隔太快,有人建议设置更宽松的间隔

但是,即使我设置了足够的时间间隔,pm2也会消耗太多的计算机资源和我的计算机风扇节流

已经有问题了

我不知道为什么usePolling效率低下。但正如作者所说,usePolling通过网络观看文件,我想这就是问题的原因

因此,我放弃了usePolling选项,并找到另一种方法来通知从主机到来宾机的文件更改

我找到的解决方案是,使用'vagrant-fsnotify'插件

插件的用法在自述页面中有详细描述

结果是什么?成功的我没有监控硬件资源,但由于我的风扇静音,我认为问题解决了