Repolode
Unitech

Unitech/pm2

Gerenciador de processos para produção em apps Node.js e Bun, com balanceador de carga integrado que mantém os processos ativos e permite recarregá-los sem downtime.

Estrelas
43,311
Forks
2,734
Issues abertas
1,109
Último commit
há 23 horas

O que é?

PM2 é um gerenciador de processos para executar aplicações Node.js e Bun em produção. Ele mantém os processos ativos, reinicia-os após falhas e também pode iniciar e gerenciar outros programas, como scripts Python ou binários disponíveis no PATH.

O modo cluster inicia várias instâncias de uma aplicação Node.js e distribui o tráfego HTTP, TCP e UDP entre elas, permitindo que o app use todos os núcleos da CPU. O comando reload atualiza aplicações em execução sem downtime. O PM2 também oferece monitoramento pelo terminal, visualização e rotação de logs e pode gerar scripts de inicialização para systemd, launchd e outros sistemas init, para que os processos sejam reiniciados junto com o servidor.

Um comando de runtime dedicado, pm2-runtime, foi projetado para executar apps dentro de contêineres Docker. O PM2 funciona no Linux, macOS e Windows e oferece suporte ao Node.js 18+ e ao Bun 1+.

Recursos principais

  • 01Mantém processos Node.js, Bun, Python e outros em execução e os reinicia após falhas.
  • 02O modo cluster distribui o tráfego HTTP, TCP e UDP entre várias instâncias.
  • 03Recarrega aplicações em execução sem downtime.
  • 04Monitoramento pelo terminal e visualização centralizada de logs em JSON ou em formato legível.
  • 05Gera scripts de inicialização para systemd, launchd e outros sistemas init.

Casos de uso

  • Executar uma API Node.js em produção em um único servidor e usar todos os núcleos da CPU.
  • Implantar apps em contêineres Docker com o comando pm2-runtime.
  • Atualizar um serviço em produção sem interromper conexões durante uma publicação.
  • Manter serviços em segundo plano em execução após reinicializações do servidor.

Início rápido

  1. 1

    Instale o PM2 globalmente com npm

    npm install pm2 -g
  2. 2

    Inicie sua aplicação com o PM2

    pm2 start app.js
  3. 3

    Liste as aplicações em execução

    pm2 list

Antes de usar

  • Licenciado sob AGPL 3.0, uma licença copyleft. Para outras licenças, entre em contato com os mantenedores.
  • Requer Node.js 18 ou superior, ou Bun 1 ou superior.

Tópicos

Perguntas frequentes

O que é pm2?
Gerenciador de processos para produção em apps Node.js e Bun, com balanceador de carga integrado que mantém os processos ativos e permite recarregá-los sem downtime. PM2 é um gerenciador de processos para executar aplicações Node.js e Bun em produção. Ele mantém os processos ativos, reinicia-os após falhas e também pode iniciar e gerenciar outros programas, como scripts Python ou binários disponíveis no PATH.
pm2 é gratuito? Qual é a licença?
pm2 é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
pm2 ainda é mantido?
Manutenção ativa. O último commit de pm2 foi em 21 de out. de 2026.
Para que posso usar pm2?
Executar uma API Node.js em produção em um único servidor e usar todos os núcleos da CPU. Implantar apps em contêineres Docker com o comando pm2-runtime. Atualizar um serviço em produção sem interromper conexões durante uma publicação. Manter serviços em segundo plano em execução após reinicializações do servidor.
Como instalar pm2?
Instale o PM2 globalmente com npm: npm install pm2 -g Inicie sua aplicação com o PM2: pm2 start app.js Liste as aplicações em execução: pm2 list
Onde consigo pm2?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Unitech/pm2

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados