Vibeleaderboard
Index / app
Visit github.com
Category
Developer Tools
Rank
Pricing
Open Source
Type
APP
Use case
Deployment & Operations
Interfaces
Desktop
Latest release
v3.3.3
Date

About

A cross-platform desktop application that helps developers monitor and manage network ports, terminate processes with one click, and handle Kubernetes port forwarding. It features smart categorization of ports, favorites management, and integration with Cloudflare Tunnels.

What it does

PortKiller replaces the usual hunt through terminal output when a development address is already occupied. It inventories listening TCP endpoints, links them to process names, commands, and IDs, then lets you search, label, watch, or stop the culprit. It also keeps local forwarding and tunnel sessions visible beside that process inventory.

Why it's ranked here

The strongest case is its tight focus on common local-development friction. Port discovery, filtering, persistent favorites, change notifications, forwarding logs, and controlled termination form a coherent daily workflow. The termination path first requests shutdown, waits 500 milliseconds, then escalates when necessary. Separate native desktop interfaces also respect each supported operating system.

What's good

The kill path favors graceful shutdown before force, while still handling vanished processes and permission failures. Port detection preserves listening addresses, enriches entries with full commands, removes duplicates, and recognizes IPv6 forms. Process categories cover common servers, databases, development tools, and system services. Watched ports can notify on state changes, and macOS keeps inactive favorites visible.

Tradeoffs

Platform parity is unclear. The README distributes only macOS and Windows builds, while Linux code exists without documented installation steps. macOS requires version 15 or newer, and Windows requires version 10 or newer. Linux discovery depends on external commands such as lsof, ss, and ps. Some listeners may appear with unknown ownership when process details are unavailable.

How to use it well

Use it on a developer workstation where several local servers, databases, cluster forwards, or temporary tunnels compete for attention. Favorite stable service ports, watch dependencies whose availability matters, and keep confirmation enabled until termination targets feel predictable. It does not cover UDP listeners, packet inspection, traffic analysis, or remote fleet process administration.

Technical notes+

platforms/macos/Package.swift defines a Swift 6.2 macOS 15 executable, a test target, and dependencies for shortcuts, defaults, login startup, and Sparkle updates. platforms/macos/Sources/AppState.swift centralizes filtering, favorites, watched ports, refresh state, Kubernetes forwards, Cloudflare quick and named tunnels, and auto-kill rules. platforms/linux/src/scanner.py scans with ss before falling back to lsof, enriches results through ps, and escalates SIGTERM to SIGKILL after 500 milliseconds. The separate Rust implementation in portkiller-core/src/lib.rs, portkiller-core/src/scanner/linux.rs, and portkiller-core/src/process/linux.rs exposes asynchronous Linux scanning and termination, but reverses the scanner preference by trying lsof before ss.

Observed

License
MIT
Desktop platforms
macOS 15.0 or newer and Windows 10 or newer are documented; Linux desktop source is also present.
Installation surface
macOS installs through a Homebrew cask or DMG. Windows ships as an extractable ZIP from GitHub Releases.
Interface
Desktop graphical application with macOS menu bar and Windows system tray integration.
Languages and architecture
The repository contains a native Swift macOS application, a Python GTK Linux application, and a Rust Linux core; comments reference a separate .NET Windows application.
Linux runtime dependencies
Port discovery and process management call operating-system tools including lsof, ss, ps, and kill.
Tests
The supplied Swift package declares a test target, and the supplied Rust modules contain unit and asynchronous tests.

Read from README.md, package.json, portkiller-core/src/lib.rs, platforms/macos/Package.swift, portkiller-core/src/models.rs, platforms/linux/port-killer.py, platforms/linux/src/main.py, platforms/linux/src/config.py, platforms/linux/src/scanner.py, platforms/linux/src/__init__.py, portkiller-core/src/process/mod.rs, portkiller-core/src/scanner/mod.rs, portkiller-core/src/process/linux.rs, portkiller-core/src/scanner/linux.rs, platforms/macos/Sources/AppState.swift.

What it can do

  • Auto-discover active TCP ports

    System network state → List of active TCP ports with details

  • Terminate processes using specific ports

    Selected port/process → Killed process and freed port

  • Manage Kubernetes port forwards

    Kubernetes cluster and port configuration → Active port forwarding connection

  • Categorize ports by service type

    Discovered ports and process information → Organized port groups by category

  • Save frequently used ports as favorites

    Selected ports → Favorites list for quick access

  • Integrate with Cloudflare Tunnels

    Cloudflare Tunnel configuration → Managed tunnel connections

Tags

port-managementprocess-killerkubernetesdeveloper-toolsnetworkmacoswindowsdesktop

Tech Stack

Node.js

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.