Uma ferramenta CLI para escanear e encerrar processos por número de porta no macOS e Linux.
O que é o pscan?
pscan é um utilitário de terminal que facilita encontrar e encerrar processos que ocupam uma porta específica. Em vez de encadear comandos lsof, grep e kill na memória, você executa pscan e seleciona o processo que deseja encerrar em uma lista interativa.
É a ferramenta que você busca quando address already in use aparece e você só quer resolver rápido.
O Problema que Resolve
Conflitos de porta são um atrito constante no desenvolvimento. O fluxo padrão envolve três comandos:
lsof -ti :3000 # encontrar PID
kill -9 <PID> # encerrarFunciona uma vez, mas depois de digitar isso pela centésima vez — e errar no PID — você começa a querer algo mais inteligente. O pscan envolve todo esse fluxo em um único comando interativo.
Funcionalidades Principais
Escaneamento interativo de portas
Execute pscan e informe a porta que deseja inspecionar. O pscan consulta a tabela de processos do OS e retorna todos os processos correspondentes com seu PID, nome e linha de comando.
pscan 3000
# Encontrados 2 processos na porta 3000:
# [1] node (PID 8421) — next dev
# [2] python (PID 9033) — http.server
# Encerrar qual? (1/2/all/none)Seguro por padrão
O pscan sempre pede confirmação antes de enviar um sinal. Você pode passar --force para pular o prompt em scripts, mas o padrão é sempre interativo.
Suporte a múltiplos processos
Se vários processos compartilham uma porta (por exemplo, durante um hot-reload com falha), o pscan lista todos e permite encerrar um ou todos de uma vez.
Controle de sinal
O sinal de kill padrão é SIGTERM (gracioso). Passe --force para usar SIGKILL quando um processo não termina.
pscan 3000 --force # SIGKILL, sem confirmação
pscan 8080 # SIGTERM interativoInstalação
npm install -g pscanRequisitos: Node.js ≥ 18, macOS ou Linux.
Stack Tecnológica
- TypeScript — modo strict, compilado para um único ponto de entrada CLI
- execa — execução de processos para
lsofekill - inquirer — prompts interativos no terminal
- meow — parsing de argumentos CLI
Filosofia de Design
O pscan faz uma coisa: encontrar processos por porta e oferecer uma forma limpa de encerrá-los. Sem arquivos de configuração, sem plugins, sem serviços em segundo plano. Ele delega para as ferramentas do OS que já existem (lsof, kill) e adiciona uma interface fina e amigável por cima.