【发布时间】:2021-06-24 06:42:08
【问题描述】:
我已经使用pm2 工作了几个星期,使用--watch 标志没有任何问题。
然后今天,即使是最基本的 Node.js + Express.js 应用程序启动时,它也会不断地重新加载,永无止境。
命令:pm2 start server.js --watch(导致 pm2 id 为 0)。
server.js
const express = require('express');
const app = express();
app.listen(3000, () => {
console.log('Server successfully started and listening at http://localhost:3000.');
});
我什至使用pm2 stop 0 --watch
在某些情况下,我注意到即使 pm2 实例已停止(甚至删除),端口仍保持打开状态。所以我一直在使用终端命令sudo lsof -iTCP -sTCP:LISTEN -n -P 列出打开的端口,并使用sudo kill -9 PID 来终止打开的端口。不知道为什么会这样。不确定这是否相关。
【问题讨论】:
-
你试过检查pm2版本吗?也许更新它。是否有任何其他进程将文件写入该目录或某事?编辑器自动保存?
-
我试过删除pm2并重新安装它,还是一样。我确实在 pm2 安装时遇到了一堆错误,例如
Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/pm2/node_modules/fsevents/.node-gyp'