windows 服务器上有几个使用 puppeteer 的 nodejs 项目,使用 pm2 管理,经常性出现以下现象:
pm2 ls
列出进程 1 、2 。pm2 log [appName]
, 会出现 0 、1 、2 三个进程在同时执行。pm2 kill 0
则会报错:找不到进程。每次想办法干掉多出的这个“幽灵进程”,过段时间又出现了,猜测是 pm2 定时重启的时候没有杀掉进程。
翻了下 pm2 的 issue ,发现用这个指令可以直接清理掉“幽灵进程”:
pm2 update
但我没有找到如何避免的办法,大家有碰到这个问题吗?怎么解决的?
对了,pm2 版本是 5.2.0 ,nodejs 版本是 12.16.2
附 app 配置:
{
"apps": [
{
"name": "xxx",
"cwd": "",
"script": "app.js",
"instances": "2",
"exec_mode": "cluster",
"autorestart": true,
"watch": false,
"max_memory_restart": "200M",
"cron_restart":"0 4/6 * * *",
"env": {
"NODE_ENV": "prod"
},
"time":true,
"log_date_format": "YYYY-MM-DD_HH:mm Z"
}
]
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.