pm2 start app 命令工作,但它给出了状态错误

Posted

技术标签:

【中文标题】pm2 start app 命令工作,但它给出了状态错误【英文标题】:pm2 start app command working but it gives error in status 【发布时间】:2020-11-04 14:24:09 【问题描述】:

对于正在运行的后台进程,当我尝试运行此命令时,我正在使用pm2 npm

pm2 start yarn --interpreter bash --name test -- start

在状态下,当我使用pm2 list 命令检查时,它给了我错误,这里我已经给出了该列表,手动yarn start 命令对我有用,这里为我提供了整个输出

[PM2] Starting /usr/local/bin/yarn in fork_mode (1 instance)
[PM2] Done.
┌─────┬─────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id  │ name        │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │
├─────┼─────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0   │ test---     │ default     │ N/A     │ fork    │ 24567    │ 0      │ 1    │ stopped   │ 0%       │ 0b       │ root     │ disabled │
└─────┴─────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
[PM2][WARN] Current process list running is not in sync with saved list. Type 'pm2 save' to synchronize or enable autosync via 'pm2 set pm2:autodump true'

谁能帮我解决这个问题?

【问题讨论】:

尝试pm2 logs 0查看日志然后知道是什么问题。 它给了我错误:/usr/local/bin/yarn: line 7: var: command not found 请给我echo $PATH的结果 【参考方案1】:

您似乎使用 npm 安装了 Yarn,在这种情况下,/usr/local/bin/yarn 将链接到节点脚本 yarn.js(在其 package.json 中定义)而不是 bash 脚本 yarn。所以bash yarn start(你实际上在做什么)不会工作。

试试这个,不用解释器:

pm2 start yarn --name test -- start

【讨论】:

以上是关于pm2 start app 命令工作,但它给出了状态错误的主要内容,如果未能解决你的问题,请参考以下文章

pm2常用命令

pm2 观察报错时 pm2 start app.js --watch

使用屏幕pm2管理服务器应用

Node.js——PM2命令

pm2命令管理启动的nodejs项目进程

shell常用命令