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.1.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.1-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: porthog-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 9b0fe5d8462493806abf5ca5d73d66748a5ea0dde7d83d2e42a6eb235ab0ab0c
MD5 85c1fd4f885348c53200addefc7cb78b
BLAKE2b-256 dfd05908dfbc11db659a63dca5004146721db81f948ba2565a9227467910fe6a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: porthog-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8f91a2cfaddedf68fcc65bd81b9abd84510a112de65a3750fb645d7bdee847f0
MD5 14c01de012443dc9af76abc3b0bf2870
BLAKE2b-256 578514bf111657b709beb2a10b1915edefa67a6653e025ef5e703fdc79a2c3c4

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