Как определить что убивает процесс в pm2?

В pm2 можно использовать команду pm2 list для просмотра всех запущенных процессов. К примеру, вывод может выглядеть так:

┌─────┬──────────────┬──────────┬──────┬────────┬──────────┐
│ id  │   name       │  mode    │  ↺   │  pid   │  status  │
├─────┼──────────────┼──────────┼──────┼────────┼──────────┤
│ 0   │   app        │ cluster  │  14  │  1234  │ online   │
├─────┼──────────────┼──────────┼──────┼────────┼──────────┤
│ 1   │   api        │ fork     │  0   │  5678  │ stopped  │
└─────┴──────────────┴──────────┴──────┴────────┴──────────┘

В этом примере присутствуют два процесса: app и api. Поле status показывает текущий статус процесса, а поле pid содержит идентификатор процесса. Здесь статус online означает, что процесс запущен и работает, а stopped означает, что он остановлен.

Если процесс завершается аварийно или вручную, pm2 автоматически будет пытаться перезапустить его в течение заданного интервала времени. Если процесс не удастся перезапустить, его статус будет изменен на errored.

Если процесс завершается с ошибкой или аварийно, и вы хотите узнать, что именно вызывает проблему, можно использовать команду pm2 logs для просмотра журнала ошибок процесса. Команда pm2 logs выводит все сообщения об ошибках и журналы в реальном времени.

Однако, если процесс завершается слишком быстро, чтобы увидеть сообщения об ошибках в журнале, можно воспользоваться командой pm2 show для более подробной информации о процессе. К примеру, чтобы получить информацию о процессе с идентификатором 0, нужно выполнить команду pm2 show 0.

Также можно использовать команду pm2 monit для мониторинга процесса и отслеживания его состояния в реальном времени. Команда pm2 monit позволяет просмотреть текущую загрузку процессора, объем памяти и другие метрики для каждого процесса.

Если вы хотите прекратить выполнение процесса в pm2, можно воспользоваться командой pm2 delete с указанием идентификатора процесса. Например, чтобы остановить процесс с идентификатором 0, нужно выполнить команду pm2 delete 0.

Надеюсь, эта информация помогла вам понять, как определить, что убивает процесс в pm2 и как управлять им.