微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法在 PM2 中重新启动或启动停止的进程

如何解决无法在 PM2 中重新启动或启动停止的进程

我在服务器上运行 PM2,处理一些 Node.Js 进程。它在大部分时间运行良好。有时我因为各种原因需要暂时停止服务。

奇怪的是,我无法从 stopped 状态启动进程。换句话说,我无法执行 pm2 stop myproject && pm2 start myprojectpm2 restart myproject。每当我这样做时,PM2 都会显示以下消息:

[PM2] Applying action restartProcessId on app [myproject](ids: [ xx ])
[PM2][ERROR] Process xx not found

我已通过删除进程并重新开始来解决此问题。

pm2 delete myproject && pm2 start app.config.js

它有效,但我认为这不是一个方法。特别是当我需要多次停止服务以进行测试时。

这是 app.config.js 文件

module.exports = {
  apps: [
    {
      name: 'myproject',script: './build/server.js',instances: 1,exec_mode: 'cluster',autorestart: true,watch: ['server.js','app.config.js','src'],watch_delay: 1000,ignore_watch: ['node_modules','logs'],exp_backoff_restart_delay: 2000,max_memory_restart: '100M',log_file: './logs/app.log',log_date_format: 'YYYY-MM-DD HH:mm:ss',combine_logs: true,env: {
        SOME_ENV: 'some_value'
      }
    }
  ]
};

请帮我解决这个问题。任何反馈都非常感谢。

[编辑]附加信息:

  • 我以非 root 用户身份运行命令
  • 有趣的是,在我重新启动进程后,内部 PM2 日志显示以下项目 PM2 error: [RestartProcessId] PM2 is being killed,stopping restart procedure...
  • pm2 status 在我运行 stopped显示 pm2 restart myproject。它没有可见的 id,但我可以使用 pm2 show myproject
  • 检查它
│ id │ name      │ mode    │ ↺ │ status   │ cpu │ memory │ 
│    │ myproject │ cluster │ 0  │ stopped │ 0%   │ 64.1mb │

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。