Skip to main content

CLI/TUI tool to find and kill dev servers hogging your ports

Project description

porthog

A CLI and TUI tool to find and kill dev servers hogging your ports.

Ever run npm start only to find port 3000 is already in use? porthog helps you quickly identify what's running on your dev ports and kill it with a single command.

Features

  • Interactive TUI - Browse all dev server ports in a beautiful terminal UI
  • CLI commands - Quick one-liners for scripting and fast actions
  • Smart detection - Automatically identifies Node, Python, Java, Ruby, Go, Rust, PHP, and .NET processes
  • Framework recognition - Detects Next.js, Vite, Django, FastAPI, Rails, and 20+ other frameworks
  • Dev port focused - Filters to common dev ports (3000-9999) by default
  • Cross-platform - Works on macOS and Linux

Installation

pip install porthog

Or with uv:

uv tool install porthog

Usage

Interactive TUI

Simply run porthog to launch the interactive terminal UI:

porthog

Keyboard shortcuts:

  • k - Kill selected process (graceful)
  • K - Force kill selected process
  • r - Refresh the list
  • a - Toggle between dev ports and all ports
  • q - Quit

CLI Commands

List dev server ports:

porthog ls

List all listening ports:

porthog ls --all

Get info about a specific port:

porthog info 3000

Kill a process on a port:

porthog kill 3000

Kill multiple ports:

porthog kill 3000 8080 5173

Force kill (SIGKILL):

porthog kill 3000 --force

Kill all dev servers (use with caution!):

porthog kill-all

Skip confirmation prompts:

porthog kill 3000 --yes

Dev Port Ranges

By default, porthog focuses on common development server ports:

  • 3000-3999 - React, Next.js, Rails, Express
  • 4000-4999 - Phoenix, Gatsby, Remix
  • 5000-5999 - Flask, Vite, SvelteKit
  • 6000-6999 - Various dev tools
  • 8000-8999 - Django, FastAPI, Spring Boot
  • 9000-9999 - PHP, SonarQube, various tools

Use --all or press a in the TUI to see all listening ports.

Detected Frameworks

porthog recognizes these frameworks and displays friendly names:

Framework Process Type
Next.js, Vite, Webpack, Vue CLI, Angular, Nuxt, Gatsby, Remix, Astro, SvelteKit Node
Django, Flask, FastAPI, Uvicorn, Gunicorn Python
Spring Boot Java
Rails Ruby
Phoenix Elixir
Hugo, Jekyll Static

Requirements

  • Python 3.10+
  • macOS or Linux

License

MIT License - see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

porthog-0.1.0.tar.gz (17.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

porthog-0.1.0-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file porthog-0.1.0.tar.gz.

File metadata

  • Download URL: porthog-0.1.0.tar.gz
  • Upload date:
  • Size: 17.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for porthog-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ab006ddc7a436e47d7c1ff1b9d5c06b90941438079d5b30705390570420f94cc
MD5 ebad47edfe2742b304e586febbc02ca0
BLAKE2b-256 5de2c5a5d5ab0d0b7fe5fdcd992df833cdb8a55f8112c7be2459ef42d47766de

See more details on using hashes here.

File details

Details for the file porthog-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: porthog-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for porthog-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 72a1c7a00ed26d0ef65040d5d7997cd1c09a34f5275de3caf01d4835587870bf
MD5 435b3d9c03c291a3c01461fa11f92ff6
BLAKE2b-256 4ca40398298cc54fe060bb0520f02ccfecfd44e05aeaa492e6c15c1e39a41da5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page