Receber por email
← Voltar para o catálogo

kill-dev-process

Encerra servidores de desenvolvimento órfãos, navegadores e processos que ocupam portas, gerados durante o desenvolvimento. Use quando as portas estiverem ocupadas, muitos processos de node/navegador estiverem em execução ou você quiser um novo começo.

94estrelas
Atualizado há 8 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add nokonoko1203/claude-code-settings

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/kill-dev-process/svg)](https://www.skillteca.com.br/skills/kill-dev-process)

Skills relacionadas

Ver todas de Desenvolvimento →

Alerta por categoria

Receba novas skills de Desenvolvimento toda segunda

1 email curto, só com as skills novas de Desenvolvimento. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

Dev Environment Cleanup

Safely clean up processes accumulated during development (dev servers, browsers, node, etc.).

Usage: /kill-dev-process Usage: /kill-dev-process $MODE

$ARGUMENTS to specify mode:

  • ports — Only processes occupying listening ports
  • browsers — Only browser processes
  • all — Process all categories at once
  • No argument — Interactive selection

Execution Steps

Step 1: Investigate the Current State

Run the following commands in parallel to assess the current situation:

# List listening TCP ports (macOS)
lsof -iTCP -sTCP:LISTEN -P -n 2>/dev/null | grep -v "^COMMAND"
# Dev-related node processes
ps aux | grep -E '[n]ode|[t]sx|[v]ite|[n]ext|[n]uxt|[e]sbuild|[t]sc |[b]un ' | grep -v 'grep'
# Browser processes (including those from Playwright/Chrome DevTools MCP)
ps aux | grep -E '[C]hromium|[c]hrome|[C]hrome Helper|[p]laywright' | grep -v 'grep'

Step 2: Classify and Display Results

Classify detected processes into the following categories and display in table format:

| Category | Criteria | |----------|----------| | Dev Servers | Processes listening on ports 3000-9999 via node/bun/deno | | Browsers | Chromium, Chrome, Playwright-related processes | | Build Tools | Residual esbuild, tsc, webpack, turbopack, etc. | | Other | Anything else requiring user confirmation |

Display format example:

## Detected Processes

### Dev Servers (3 items)
PID    PORT   COMMAND              STARTED
12345  3000   node next-server     10:30
12346  5173   node vite            11:45
12347  8080   node express         09:00

### Browsers (5 items)
PID    COMMAND                      MEM
23456  Chromium --headless           120M
23457  Chrome Helper (Renderer)       80M
...

Step 3: Safety Check

Processes that must NEVER be killed:

  • System processes (PID < 100, root-owned system daemons)
  • Databases (postgres, mysql, redis, mongo)
  • Docker / containerd
  • SSH / sshd
  • IDE itself (VSCode, Cursor) — Chrome helpers ARE eligible targets
  • Long-running processes that appear to be intentionally started by the user

If any of the above are detected, exclude them and display a notice about the exclusion.

Step 4: Confirm with the User

Unless the mode is all, use AskUserQuestion to get confirmation:

  • Allow the user to select "Kill / Skip" for each category
  • Support keeping specific PIDs alive

Step 5: Terminate Processes

  1. First attempt graceful shutdown with kill -TERM <PID>
  2. Wait 1 second and check survival: kill -0 <PID> 2>/dev/null
  3. If still alive, force kill with kill -9 <PID>
  4. Display termination results
# Example: graceful shutdown
kill -TERM 12345 12346 12347

# Check survival after 1 second
sleep 1
for pid in 12345 12346 12347; do
  kill -0 $pid 2>/dev/null && echo "PID $pid still alive, force killing..." && kill -9 $pid
done

Step 6: Result Report

Display a summary of the cleanup results:

## Cleanup Complete

- Terminated: 8 processes
- Freed ports: 3000, 5173, 8080
- Skipped: 2 (postgres, redis)
- Failed: 0

Notes

  • Assumes macOS environment (lsof flags, etc.)
  • Always get user confirmation before killing processes (including all mode)
  • Only use actual PIDs obtained from investigation results for kill commands
  • Investigation and termination are separate steps — never pipe them together (prevents accidental kills)
Compartilhar X LinkedIn