当前位置: 首页 > 知识库问答 >
问题:

PM2-忽略-监视不工作

子车灿
2023-03-14

我使用pm2已经有一段时间了。最近,我需要向我的Express4项目添加一个名为“ActionLog”的自定义日志目录。因为它是一个用日志文件更新的目录,我不希望pm2在日志文件更改时重新启动应用程序,所以我希望pm2忽略查看该目录。将pm2更新到最新后,下面是我使用的命令:

pm2 start app.js --watch --ignore-watch="actionLog"

我在pm2日志中得到以下错误流:

PM2 Error: watch ENOSPC
PM2     at exports._errnoException (util.js:746:11)
PM2     at FSWatcher.start (fs.js:1172:11)
PM2     at Object.fs.watch (fs.js:1198:11)
PM2     at createFsWatchInstance (/usr/local/lib/node_modules/pm2/node_modules/chokidar/lib/nodefs-handler.js:37:15)
PM2     at setFsWatchListener (/usr/local/lib/node_modules/pm2/node_modules/chokidar/lib/nodefs-handler.js:80:15)
PM2     at EventEmitter.NodeFsHandler._watchWithNodeFs (/usr/local/lib/node_modules/pm2/node_modules/chokidar/lib/nodefs-handler.js:228:14)
PM2     at EventEmitter.NodeFsHandler._handleFile (/usr/local/lib/node_modules/pm2/node_modules/chokidar/lib/nodefs-handler.js:255:21)
PM2     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/pm2/node_modules/chokidar/lib/nodefs-handler.js:468:21)
PM2     at FSReqWrap.oncomplete (fs.js:95:15)
PM2 Error: watch ENOSPC
PM2     at exports._errnoException (util.js:746:11)
PM2     at FSWatcher.start (fs.js:1172:11)
PM2     at Object.fs.watch (fs.js:1198:11)
PM2     at createFsWatchInstance (/usr/local/lib/node_modules/pm2/node_modules/chokidar/lib/nodefs-handler.js:37:15)
PM2     at setFsWatchListener (/usr/local/lib/node_modules/pm2/node_modules/chokidar/lib/nodefs-handler.js:80:15)
PM2     at EventEmitter.NodeFsHandler._watchWithNodeFs (/usr/local/lib/node_modules/pm2/node_modules/chokidar/lib/nodefs-handler.js:228:14)
PM2     at EventEmitter.NodeFsHandler._handleFile (/usr/local/lib/node_modules/pm2/node_modules/chokidar/lib/nodefs-handler.js:255:21)
PM2     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/pm2/node_modules/chokidar/lib/nodefs-handler.js:468:21)
PM2     at FSReqWrap.oncomplete (fs.js:95:15)
PM2 Error: watch ENOSPC
pm2 start bin/www --watch --ignore-watch="actionLog"
PM2: 2016-02-23 04:05:34: Starting execution sequence in -fork mode- for app name:aadm id:2
PM2: 2016-02-23 04:05:34: App name:aadm id:2 online
PM2: 2016-02-23 04:05:35: Change detected on path actionLog/userAction.log for app aadm - restarting
PM2: 2016-02-23 04:05:35: Stopping app:aadm id:2
PM2: 2016-02-23 04:05:35: App name:aadm id:2 exited with code SIGTERM
PM2: 2016-02-23 04:05:35: Process with pid 5102 killed
PM2: 2016-02-23 04:05:35: Starting execution sequence in -fork mode- for app name:aadm id:2
PM2: 2016-02-23 04:05:35: App name:aadm id:2 online
  • https://github.com/unitech/pm2/issues/1288
  • https://github.com/unitech/pm2/issues/918
  • https://github.com/unitech/pm2/issues/1275
  • 如何使用PM2自动重新加载项目节点
  • Express 4+pm2手表不工作

不幸的是,我还是卡住了。有什么想法吗?

共有1个答案

石喜
2023-03-14

事实证明,尽管这些错误是由忽略监视触发的,但它们并不是由忽略监视引起的。以下命令修复了该问题:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

我在这里找到了这个解决方案:https://stackoverflow.com/a/32600959/2234029

我还尝试了“npm dedupe”--就像那个线程上建议的那样--但没有帮助。

 类似资料:
  • 问题内容: 我有一个使用nodejs的网站。问题是当用户上传图像时站点停止工作。我认为那是因为PM2在文件更改时重新启动服务器。如何解决这个问题呢。谢谢 问题答案: PM2具有特殊标志标志。 尝试在app.js / index.js所在的目录中创建文件,并将其粘贴: 有关该主题的更多信息:http : //pm2.keymetrics.io/docs/usage/watch-and- restar

  • 我正在尝试创建一个服务,该服务将在每x秒和y距离后接收位置更新。我在x秒后收到更新,但在y距离后从未收到更新。我已经用不同的值多次测试过它,似乎setSmallestDisplace根本不起作用。关于这个问题有各种各样的帖子,但没有任何解决方案。如果有人能帮助我,甚至给我指出一个不同的方向,我将不胜感激。 我的服务 }

  • 问题内容: 我正在开发一个使用Spring-boot,关系数据库和Elasticsearch的应用程序。 我在代码的2个不同位置使用JSON序列化: 在REST API的响应中。 当代码与Elasticsearch交互时。 我在Elasticsearch中需要一些属性,但我想向应用程序用户隐藏(例如,来自关系数据库的内部ID)。 这是一个实体的例子: 问题 :当对象持久化在Elasticsearc

  • 这是我的东西 当我得到响应时,我看到 我的看起来像 问题 如何消除中的值?

  • 我正在尝试生成发音文档(版本2.3.0)。根据文档中忽略响应样本上的特定字段,我们可以在以下两个字段中使用其中一个。我尝试过使用它们,但文档仍然使用该字段创建了一个示例Json。 我已经尝试了这两种不同类型的忽略的所有组合。