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 / Ctrl+C - 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.3.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.3-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: porthog-0.1.3.tar.gz
  • Upload date:
  • Size: 17.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for porthog-0.1.3.tar.gz
Algorithm Hash digest
SHA256 587f90898bff3e1abab2498dae144e60974652165bd1c12c64a90b80b88983fa
MD5 527781bc86c0b751587a610582a38397
BLAKE2b-256 03d338f47be983bb8404cad9c145222c049a005c57d63bec00f423e37dbcdfb7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: porthog-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for porthog-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5f2fff4e66cb588ce5cbbcae35e1bab90e734f03493c05310c8dc1fb86c23689
MD5 64d6d710fbb8d0a8730543cc2d3fa3d9
BLAKE2b-256 b0f20a2992980568be6a4d41c0d90b2f64744b6a3b321d0372edc97c8b7b932f

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